retro-httpaf-bench
ocaml-h2
retro-httpaf-bench | ocaml-h2 | |
---|---|---|
6 | 1 | |
21 | 305 | |
- | - | |
0.0 | 5.5 | |
2 months ago | 6 days ago | |
Jupyter Notebook | OCaml | |
- | BSD 3-clause "New" or "Revised" License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
retro-httpaf-bench
- Parser Combinators in Haskell
-
Ask HN: Alternatives to Rust Programming Language
I do. The benchmark results itself is here: 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/882.... The benchmark's repo is here: 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.... 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.
-
Adapting the OCaml Ecosystem for Multicore OCaml
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.
-
I don't see a future for Go. It's big within the kubernetes world right now but it will slowly be replaced by Rust.
multicore already faster than Go
-
Functional Programming in OCaml
Multicore is coming along, you can read the latest news here: https://discuss.ocaml.org/t/multicore-ocaml-june-2021/8134
In terms of performance, there is this paper https://kcsrk.info/papers/system_effects_feb_18.pdf where on a single core async OCaml and effect OCaml are close to Go's net/http, and there is also this project https://github.com/ocaml-multicore/retro-httpaf-bench but I haven't see any results from it.
ocaml-h2
What are some alternatives?
assert-combinators - Functional assertion combinators.
httpaf - A high performance, memory efficient, and scalable web server written in OCaml
codeworld - Educational computer programming environment using Haskell
parser - String parser combinators
nom - Rust parser combinator framework
angstrom - Parser combinators built for speed and memory efficiency
dune - A composable build system for OCaml.
generator - Generator module.