5 ms·
> It'd be great if there were better benchmarks for common use cases of various languages Somebody should make those. (People may have different ideas about w
by igouy 9y ago
> It'd be great if there were better benchmarks for common use cases of various languages
Somebody should make those.
(People may have different ideas about which use cases are common).
- riku_iki 9y agoThere are some: https://www.techempower.com/benchmarks/ https://www.techempower.com/benchmarks/ As you can see, erlang is far from the top there.
- igouy 9y agoI don't see Erlang listed at-all on that "Fortunes" page ?
- riku_iki 9y agoThey have elixir there, which is another language for Erlang VM, and they have erlang for other benchmarks.
- elcritch 9y agoIt's not near the bottom either which is the point. Actually Phoenix (the only Erlang base web framework I could find at the link) edges out quite a number of other frameworks, roughly ranking in the middle of the pack. Specifically Phoenix performed 32k req/s, in comparison to say the Go based Gin which does 51k req/s or a arguably more comparable setup of,Python3 Flask with full ORM at 13k. Spring only manages in 23k req/s. Nothing to write home about either way but clearly along the lines of my argument that Erlang/Beam can hold its own. Though some of the ruby frameworks are damn impressive seaming, huh. However it gets more interesting if you look at the Latency tab. There Phoenix comes in with an average of 7.9 ms. In comparison Gin averages 5.8 ms, Spring at 12.1 ms, Flask Py3 at 23.1 or Py2 at 14.7 ms. Where it's really interesting is looking at the max latency. Presuming this indicates roughly how 99th and 95th percentiles measurements would compare. In this category Phoenix comes in second with a max of 22.0 ms, behind only lib-mongodb at 20.8 ms. The lib-Mongolia is one of the fastest frameworks by raw req/s. Appreciate the link to the benchmarks! Much more interesting, especially if you're concerned about max latency (and likely 99/95 th percentiles). In this case BEAM/Phoenix would let you plan capacity to minimize max latency fairly well as it appears very consistent.
- riku_iki 9y ago> Specifically Phoenix performed 32k req/s, But raw java servlets delivered 100+k req/s. It may mean that all this event loop/async/actors hype is overrated, and regular blocking approach can also deliver.