[Ur] TechEmpower Benchmarks

Adam Chlipala adamc at csail.mit.edu
Thu Nov 28 11:14:42 EST 2013


On 11/27/2013 08:36 PM, escalier at riseup.net wrote:
> The most recent version seems to work for me too. I've added a pull
> request so that the benchmark will build using the compiler from the
> Mercurial tip.
>    

Thanks!

I just pushed an Ur/Web changeset to add a '-k' option to HTTP binaries, 
to turn on HTTP keepalive.  This seems to roughly double the throughput 
for easy-to-process HTTP requests, so I can see why the people running 
this benchmark comparison suggest it!

Would you mind trying out adding '-k' to the command line you use for 
the benchmarks?  Maybe the powers that be will deem this an 
"improvement" that isn't fair to add this late in the game, but it at 
least seems good to have it ready for future rounds.  (And I hope they 
accept the change, which is orthogonal to the _interesting_ aspects of 
Ur/Web.)

I also wonder about logging overhead.  Is the current benchmark setup 
saving the full stdout of the Ur/Web HTTP server to anywhere but 
/dev/null?  I would imagine other frameworks have their non-error output 
disabled, so it seems important for fairness to disable Ur/Web's 
similarly.  Always sending stdout to /dev/null is what I do for 
benchmarking locally, and it accounts for a factor of 25 in performance 
vs. sending stdout to an Emacs shell buffer!



More information about the Ur mailing list