3 ms·
> (BEAM is excellent at scheduling, but pretty terrible at running user code; it's notoriously slow, which is why all important Erlang library functions are imp
by pbowyer 12y ago
> (BEAM is excellent at scheduling, but pretty terrible at running user code; it's notoriously slow, which is why all important Erlang library functions are implemented in C, and why heavyweight Erlang shops do a lot of C coding; when you do Erlang, it's often Erlang and C if performance is important).
That's really useful to know - I'd not heard about this before, only that Erlang was fast!
- pron 12y agoErlang is actually quite slow; it just responds quickly and has excellent concurrency. The programming language shootout places Erlang HiPe (high performance) at 2x-22x slower than Java (http://benchmarksgame.alioth.debian.org/u64q/erlang.html http://benchmarksgame.alioth.debian.org/u64q/erlang.html) and sometimes faster and sometimes slower than Python (http://benchmarksgame.alioth.debian.org/u64q/compare.php?lang=hipe&lang2=python3 http://benchmarksgame.alioth.debian.org/u64q/compare.php?lan...). That's why Erlang is often used as the application control plane, routing requests and the like, while actual data processing is done in C.