{"push_id":3890730174,"size":2,"distinct_size":2,"ref":"refs/heads/master","head":"20507592979d2dbba41846bd8b5a8ecd36ef1b69","before":"cdfa3d5c0825a4e8bbd315670dbc1a17ff81db2a","commits":[{"sha":"72231f0a2d8627f8cc1fe2fad5deb840e75f032f","author":{"name":"Leandro Pereira","email":"cff5713264a23ccefef24b6cefee6f1d9e448c40@hardinfo.org"},"message":"Revert \"Make unlikely check for RESPONSE_SENT_HEADERS an assertion\"\n\nThis reverts commit cdfa3d5c.  Apparently some things require this\nbehavior and the assert was being hit.  While the behavior isn't fixed,\nrevert this instead.","distinct":true,"url":"https://api.github.com/repos/lpereira/lwan/commits/72231f0a2d8627f8cc1fe2fad5deb840e75f032f"},{"sha":"20507592979d2dbba41846bd8b5a8ecd36ef1b69","author":{"name":"Leandro Pereira","email":"cff5713264a23ccefef24b6cefee6f1d9e448c40@hardinfo.org"},"message":"Reduce indirection when looking up extension in mime_type table\n\nInstead of processing data so that there's an array of pointers\npointing to the decompressed buffer, store it differently.  Previously,\ndata was stored as a string of extension-NUL-mime-type-NUL; after\ndecompression, two arrays were populated, containing pointers to the\ndata.  It now contains all extensions, padded with NUL bytes (from 0 to\n7 NULs), then followed by all the MIME types, separated by NUL; after\ndecompression, Lwan spends time populating only an array of pointers\nto MIME types.\n\nWith this change, the cache lines that would be used for the extension\npointers are now used for the data itself.  This is 120 fewer cache\nlines ((sizeof(char*) * 954) / 64) that need to be, in the worst case,\npopulated in order to find an extension.\n\nAs a side-effect, all 9 extensions from mime.types that are over 8\ncharacters long (which aren't common), are not included in the MIME\ntype table any longer.  Not a bit deal.  As such, the binary size\ndecreased a few hundred bytes due to having fewer elements, and\nthe compressor liking all the NUL padding.\n\nWhen compressing with Brotli, compressed table now sits at 6480 bytes,\nfrom 6739 before this change.  Uncompressed data is larger due to\npadding, but is offset from not needing the pointer array, so it's\na win-win scenario.\n\nThis could probably be improved further by using something like gperf,\nthough, but, considering that this information is cached by the file\nserving module, it's not really a hot path.","distinct":true,"url":"https://api.github.com/repos/lpereira/lwan/commits/20507592979d2dbba41846bd8b5a8ecd36ef1b69"}]}
{"actor":{"display_login":"lpereira"}}