4 ms·
> can serve almost as much HTTP requests as a Rust server based on Hyper Do you have a link to a benchmark showing this?
by ibraheemdev 5y ago
> can serve almost as much HTTP requests as a Rust server based on Hyper
Do you have a link to a benchmark showing this?
- Zababa 5y agoI do. The benchmark results itself is here: https://aws1.discourse-cdn.com/standard11/uploads/ocaml/optimized/2X/b/bb7fc0a89f144c0a81224aa49bb46ffc55917522_2_690x409.jpeg https://aws1.discourse-cdn.com/standard11/uploads/ocaml/opti.... This comes from the OCaml multicore monthly news, the october 2021 edition: https://discuss.ocaml.org/t/multicore-ocaml-october-2021/8822 https://discuss.ocaml.org/t/multicore-ocaml-october-2021/882.... The benchmark's repo is here: https://github.com/ocaml-multicore/retro-httpaf-bench https://github.com/ocaml-multicore/retro-httpaf-bench. However that image is not the whole story, and there's a bit more info here: https://watch.ocaml.org/videos/watch/74ece0a8-380f-4e2a-bef5-c6bb9092be89 https://watch.ocaml.org/videos/watch/74ece0a8-380f-4e2a-bef5.... In that video, the author says that the result vary depending on the load (sometimes Rust Hyper can end up above OCaml httpaf eio), that OCaml currently uses an io-uring backend while Rust doesn't, and that the results are for single core as previous OCaml implementations are single-core themselves. I do feel that this benchmark is incomplete. I'd like it to see the results while using all of the cores of a machine, and I'd like to see different type of loads. I do think that the results are impressive: performance between Go and Rust is great. I do hope that it stays this way with multicore.