Hacker News new | past | comments | ask | show | jobs | submit login

Are there any benchmarks? Comparisons to other multicore runtimes, like GoLang's?



I remember seeing a graph where http/af, a http server, was close to Go net/http. I'll try to run https://github.com/ocaml-multicore/retro-httpaf-bench and report back. I also found another graph, but I'm too colorblind to read it properly https://user-images.githubusercontent.com/554131/131155247-f....

Edit: the benchmark fails to build


Top two lines are httpaf_eio and rust_hyper.

Next two lines are httpaf_effects and httpaf_lwt.

Bottom two lines are nethttp_go and cohttp_lwt_unix.

All in order from top to bottom.


Thank you very much!


Yeah the colors are really not great for color blind people, I rather have some symbols or similar on them


That's one of the small things I like about more complex charts (more complex than a picture): I can usually hover over the chart to see the label.


We don't compare against Go pervasively. Benchmarking across languages is hard generally, but here is a result on a specific benchmark comparing several versions of OCaml benchmarks against Go and Rust on a Http server benchmark: https://github.com/ocaml-multicore/retro-httpaf-bench/pull/1....

If there are suggestions to make the Go and Rust versions, please feel free to tell us how in the issue tracker.


Our paper from ICFP last year has extensive benchmarks against stock OCaml: https://arxiv.org/abs/2004.11663

In short there should be very little performance difference against stock.

As KC has linked in a sibling comment there's a project going to explore using effects to write high performance IO libraries and that has some early benchmarks.


Yes, check out https://watch.ocaml.org/videos/watch/playlist/7a4ad26a-b8c5-... for some interesting comparisons.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: