Comment by neonsunset

Comment by neonsunset 9 days ago

4 replies

Unlike Python it scales with cores perfectly, which makes sense given that’s what BEAM is designed for, but the baseline cost of operations is in the same group.

https://benchmarksgame-team.pages.debian.net/benchmarksgame/...

It’s a bytecode-interpreted language. If it were JIT and statically typed we would have seen drastically different results. Also JIT output being slower than static compilation is a myth. When compilation happens does not dictate the kind machine code the compiler can produce (mostly, compiler throughput and JIT-time optimizations do influence this, but are not a strict limitation).

jhogberg 9 days ago

Erlang is JIT compiled since 2021.

Grandparent is also correct in that it tends to be faster than Python et al. If we have a deeper look at the benchmarks [1][2], as long as there is no significant amount of bignum arithmetic (where both call C code) or standard IO involved [3] it's consistently faster than Python, and often by a large margin.

[1]: https://benchmarksgame-team.pages.debian.net/benchmarksgame/...

[2]: https://benchmarksgame-team.pages.debian.net/benchmarksgame/...

[3]: Standard IO goes through several indirections to make it work with remote REPLs; other forms of IO do not suffer from this.

  • igouy 9 days ago

    For your convenience:

    https://benchmarksgame-team.pages.debian.net/benchmarksgame/...

    > no significant amount of bignum arithmetic

    There is none shown in the charts. There is none shown elsewhere apart from where aribitrary precision arithmetic is shown explicitly: pi-digits.

    • lenkite 7 days ago

      The memory taken and timeouts for Erlang are concerning in those benchmarks. And this is when compared to Python!

      • igouy 5 days ago

        Perhaps when programs written for pre-R12 are now at R27.