3 ms·
Doesn't the N-times speedup on N cores really require you to write perfect Erlang? I feel like that's a really optimistic prediction. Even the authors said th
by cantankerous 14y ago
Doesn't the N-times speedup on N cores really require you to write perfect Erlang? I feel like that's a really optimistic prediction. Even the authors said they needed to give their original programs some tweaking, and they're Erlang pros. At this point, I remain skeptical of this claim.
- MetaCosm 14y agoNot as much as you would expect. The natural way you build systems in Erlang is across erlang-processes (micro processes). Even if you are building an application running on a single core, you use erlang-processes extensively. This means for a little TCP-IP server, you use one erlang-process per incoming connection on one core or 32 -- the only difference is how they are schedule, when you are on 32 cores the Erlang VM starts up more threads and then schedules the erlang-processes across the VM threads and those threads are scheduled across physical processors. The trick is -- when you build software in Erlang -- you start up new processes for the true concurrency (in a web application, the true concurrency is number of connections, so they get there own processes). This means that Erlang applications routinely have hundreds of thousands of processes -- which makes it easy to schedule across a mere 32 or 64 or 128 physical cores.