On Thursday, 31 December 2015 at 13:29:49 UTC, Daniel Kozak wrote:
On Thursday, 31 December 2015 at 12:09:30 UTC, Etienne Cimon
wrote:
That would be the other way around. TCP_NODELAY is not enabled
in the local connection, which makes a ~20-30ms difference per
request on keep-alive connections and is the bottleneck in
this case. Enabling it makes the library competitive in these
benchmarks.
When I use HTTPServerOption.distribute with libevent I get
better performance but with libasync it drops from 20000 req/s
to 80 req/s. So maybe some another performance problem
I launch libasync programs as multiple processes, a bit like
postgresql. The TCP listening is done with REUSEADDR, so the
kernel can distribute it and it scales linearly without any fear
of contention on the GC. My globals go in redis or databases