You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
OK, I redid the test with the single yield () modification above. For the record, it involves turning line 1608 in lwt_io.ml to
Lwt_main.yield ()>>=fun() -> accept_loop ()
This results in a huge latency improvement for the HTTP server benchmark being discussed in inhabitedtype/httpaf#54 (comment); see surrounding comments for details. However, it also decreases throughput.
There may be some variant of this optimization that gives both low latency and high throughput. There is a risk of over-optimizing for the specific benchmark, however.
One suggestion is to take the accept_n branch, and yield between every N accepts.
The text was updated successfully, but these errors were encountered:
Found by @bluddy in inhabitedtype/httpaf#54 (comment):
This results in a huge latency improvement for the HTTP server benchmark being discussed in inhabitedtype/httpaf#54 (comment); see surrounding comments for details. However, it also decreases throughput.
There may be some variant of this optimization that gives both low latency and high throughput. There is a risk of over-optimizing for the specific benchmark, however.
One suggestion is to take the
accept_n
branch, and yield between every N accepts.The text was updated successfully, but these errors were encountered: