Mold the redbean binary to minimize page faults
This change brings page faults for precompressed static asset serving down from 27 to 20 (or fewer) after fork. This is more of an art than science. Hopefully Blinkenlights can visualize page faults soon.
This commit is contained in:
@@ -22,6 +22,7 @@
|
||||
#include "libc/calls/calls.h"
|
||||
#include "libc/calls/struct/stat.h"
|
||||
#include "libc/calls/struct/timespec.h"
|
||||
#include "libc/dos.h"
|
||||
#include "libc/elf/def.h"
|
||||
#include "libc/fmt/conv.h"
|
||||
#include "libc/limits.h"
|
||||
@@ -55,11 +56,6 @@
|
||||
#define ZIP_LOCALFILE_SECTION ".zip.2."
|
||||
#define ZIP_DIRECTORY_SECTION ".zip.4."
|
||||
|
||||
#define DOS_DATE(YEAR, MONTH_IDX1, DAY_IDX1) \
|
||||
(((YEAR)-1980) << 9 | (MONTH_IDX1) << 5 | (DAY_IDX1))
|
||||
#define DOS_TIME(HOUR, MINUTE, SECOND) \
|
||||
((HOUR) << 11 | (MINUTE) << 5 | (SECOND) >> 1)
|
||||
|
||||
char *symbol_;
|
||||
char *outpath_;
|
||||
char *yoink_;
|
||||
|
||||
94
tool/net/counters.inc
Normal file
94
tool/net/counters.inc
Normal file
@@ -0,0 +1,94 @@
|
||||
C(accepterrors)
|
||||
C(acceptinterrupts)
|
||||
C(acceptresets)
|
||||
C(badlengths)
|
||||
C(badmessages)
|
||||
C(badmethods)
|
||||
C(badranges)
|
||||
C(closeerrors)
|
||||
C(compressedresponses)
|
||||
C(connectionshandled)
|
||||
C(connectsrefused)
|
||||
C(continues)
|
||||
C(decompressedresponses)
|
||||
C(deflates)
|
||||
C(dropped)
|
||||
C(dynamicrequests)
|
||||
C(emfiles)
|
||||
C(enetdowns)
|
||||
C(enfiles)
|
||||
C(enobufs)
|
||||
C(enomems)
|
||||
C(enonets)
|
||||
C(errors)
|
||||
C(expectsrefused)
|
||||
C(failedchildren)
|
||||
C(forbiddens)
|
||||
C(forkerrors)
|
||||
C(frags)
|
||||
C(fumbles)
|
||||
C(http09)
|
||||
C(http10)
|
||||
C(http11)
|
||||
C(http12)
|
||||
C(hugepayloads)
|
||||
C(identityresponses)
|
||||
C(inflates)
|
||||
C(listingrequests)
|
||||
C(loops)
|
||||
C(mapfails)
|
||||
C(maps)
|
||||
C(meltdowns)
|
||||
C(messageshandled)
|
||||
C(missinglengths)
|
||||
C(netafrinic)
|
||||
C(netanonymous)
|
||||
C(netapnic)
|
||||
C(netapple)
|
||||
C(netarin)
|
||||
C(netatt)
|
||||
C(netcogent)
|
||||
C(netcomcast)
|
||||
C(netdod)
|
||||
C(netford)
|
||||
C(netlacnic)
|
||||
C(netloopback)
|
||||
C(netother)
|
||||
C(netprivate)
|
||||
C(netprudential)
|
||||
C(netripe)
|
||||
C(nettestnet)
|
||||
C(netusps)
|
||||
C(notfounds)
|
||||
C(notmodifieds)
|
||||
C(openfails)
|
||||
C(partialresponses)
|
||||
C(payloaddisconnects)
|
||||
C(pipelinedrequests)
|
||||
C(precompressedresponses)
|
||||
C(readerrors)
|
||||
C(readinterrupts)
|
||||
C(readresets)
|
||||
C(readtimeouts)
|
||||
C(redirects)
|
||||
C(reindexes)
|
||||
C(reloads)
|
||||
C(rewrites)
|
||||
C(serveroptions)
|
||||
C(shutdowns)
|
||||
C(slowloris)
|
||||
C(slurps)
|
||||
C(statfails)
|
||||
C(staticrequests)
|
||||
C(stats)
|
||||
C(statuszrequests)
|
||||
C(synchronizationfailures)
|
||||
C(terminatedchildren)
|
||||
C(thiscorruption)
|
||||
C(transfersrefused)
|
||||
C(urisrefused)
|
||||
C(verifies)
|
||||
C(writeerrors)
|
||||
C(writeinterruputs)
|
||||
C(writeresets)
|
||||
C(writetimeouts)
|
||||
@@ -1 +1,2 @@
|
||||
Write('hello world\r\n')
|
||||
StoreAsset('/hi', 'sup')
|
||||
|
||||
1444
tool/net/redbean.c
1444
tool/net/redbean.c
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user