-
Notifications
You must be signed in to change notification settings - Fork 10
Replace shuttle with http-async #24
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Replace shuttle with http-async #24
Conversation
| export GOMAXPROCS=1 | ||
| export COHTTP_DOMAINS=1 | ||
| export HTTPAF_EIO_DOMAINS=1 | ||
| export RUST_CORES=1 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
https://github.com/ocaml-multicore/retro-httpaf-bench/blob/6d7aaeac4a7d00be05b5f81d5ceead14de4facac/run_benchmarks_mult.sh exists for multicore benchmarks, so I switched the number of domains back to 1 in this script.
|
CI is failing with: |
|
@talex5 the Cohttp errors might be related to the 0.15 series of Janestreet libraries. Core_kernel was renamed to Core. I’m a little surprised to see cohttp_async in the errors as from what I can tell there are no cohttp_async examples in this repository. |
|
Cohttp's current trunk works well with 0.15 series of janestreet libraries (mirage/ocaml-cohttp#867). I'm guessing the eio version of cohttp that's included in this repository as a submodule will need to be updated to sync with the new cohttp commits. |
Error was:
Cloning into 'retro-httpaf-bench/cohttp-eio/vendor/ocaml-cohttp'...
[email protected]: Permission denied (publickey).
fatal: Could not read from remote repository.
It was installing every package in the cohttp repository, bringing in a dependency on async, etc.
|
I made a PR (#26) to fix the |
320b6b8 to
f88be1d
Compare
|
Thanks! |
I'm switching the shuttle implementation to use
http_asyncwhich was published to opam recently.http_asyncuses shuttle internally.The image is from a benchmark run under docker on my machine with
RUN_DURATION=20I don't think I can catch up to
eiowhen it uses io-uring in polling mode, but I'm glad to see that the refactoring I did in shuttle (I switched to a higher level simpler API), hasn't resulted in my http server falling too far behind others :-)