{"push_id":1191577421,"size":4,"distinct_size":4,"ref":"refs/heads/master","head":"a15ba1a21ce80c2470e546c9c65dc0d7d6d16792","before":"c5c7bea8cb5bdb6fb99e06046136441bad4bdd98","commits":[{"sha":"b089443c7bd823e923aea0688dec50a09b04150b","author":{"name":"Needs","email":"49ed891f5d2dd8dc625dbe553d3a2fc3a91420e6@mailoo.org"},"message":"Makefile: Add \"release\" target\n\nRelease target does define NDEBUG to remove assertions, as well as\nmaking html(), css() and svg() faster and make them generate smaller\ncode.\n\nBinaries produced with release target does not have debugging symbols\nand does have a higher level of optimisation.\n\nThis commit does fix build errors when building with release.","distinct":true,"url":"https://api.github.com/repos/needs/teerank/commits/b089443c7bd823e923aea0688dec50a09b04150b"},{"sha":"9cfb8c8257c094f9419ac3a43588cf32c0b4b5c7","author":{"name":"Needs","email":"49ed891f5d2dd8dc625dbe553d3a2fc3a91420e6@mailoo.org"},"message":"Makefile: Don't create cache directory on \"install\"\n\nA reliq from the past, where teerank used to cache files.  Cache has\nbeen removed since.","distinct":true,"url":"https://api.github.com/repos/needs/teerank/commits/9cfb8c8257c094f9419ac3a43588cf32c0b4b5c7"},{"sha":"3472d1da73f5b91b8db73825c29ff7a0701f41a7","author":{"name":"Needs","email":"49ed891f5d2dd8dc625dbe553d3a2fc3a91420e6@mailoo.org"},"message":"Makefile: Fix typos, add some comments","distinct":true,"url":"https://api.github.com/repos/needs/teerank/commits/3472d1da73f5b91b8db73825c29ff7a0701f41a7"},{"sha":"a15ba1a21ce80c2470e546c9c65dc0d7d6d16792","author":{"name":"Needs","email":"49ed891f5d2dd8dc625dbe553d3a2fc3a91420e6@mailoo.org"},"message":"cgi: Do not fork to generate pages\n\nNo functional changes, exceptcgi is now one big binary capable of\ngenerating every pages.  Before getting into details, a little bit of\nhistoric.\n\nFor simplicity and better testing, I used to make every pages a\nstandalone program.  Hence there was a program for generating rank pages,\none for clan pages, and so on.  When I did create CGI, I just used a\nfork() and execl() and did some dup2() to generate the page.\n\nThis worked well, with one drawback tho: we needed to make sure binaries\nwas reachable from $PATH.  Performance would have been better without\nany fork(), but given the little audience of teerank, it was a\nnon-issue.\n\nSo now, no more standalone binaries for each page.  It means that\ninstead of doing a fork(), we just call a function for the wanted page.\nOf course we still need to do some pipe(), dup() and dup2() to handle\nerror as nicely as possible.  Although it may not be needed if pages\nwere written carefuly, I'm not sure.\n\nStandalone binaries was still handful for debugging, so I might\nre-introduce them in a later commit.\n\nLet's note that load_config() does not need to be called at the\nbeginning of each page function, because it is done at the start of the\nCGI.\n\nRouting stuff has been a little bit splified using a macro.  \"file\"\nstructure has been renamed to \"page\".\n\nI'v done some basic benchmark to see how fork() did affect\nperformances.  I generated a page for each player in database (107 at\nthe time).  It took 0.650ms before the commit, and 0.500ms after.  Not\nthat great, but still a nice \"side-effect\".","distinct":true,"url":"https://api.github.com/repos/needs/teerank/commits/a15ba1a21ce80c2470e546c9c65dc0d7d6d16792"}]}
{"actor":{"display_login":"needs"}}