5 ms·
Erlang/Elixir's VM is gear toward high uptime, low latency, and highly concurrent. https://stressgrid.com/blog/100k_cps_with_elixir/ https://stressgrid.com/blo
by anthony_doan 7y ago
Erlang/Elixir's VM is gear toward high uptime, low latency, and highly concurrent.
https://stressgrid.com/blog/100k_cps_with_elixir/ https://stressgrid.com/blog/100k_cps_with_elixir/
What it's not good at is numerical computation.
As for the others I have no clue but I am sure jvm won't be as low latency as Elixir's VM since it's not a preemptive scheduler.
- sk5t 7y agoI think a lot of folks writing low latency code in C, or for the JVM, would be surprised at the suggestion a lack of preemptive scheduler makes their work futile.
- anthony_doan 7y agoIf those folks enjoys writing low latency code in C for backend... I'm not going to stop them. I'll sit in a corner somewhere and enjoy Elixir. There's a JVM vs BEAM VM comparison paper (http://ds.cs.ut.ee/courses/course-files/To303nis%20Pool%20.pdf http://ds.cs.ut.ee/courses/course-files/To303nis%20Pool%20.p...). I believe section 2.2. ERTS of the paper talk about BEAM VM advantage for low latency. > The per process heap architecture has manybenefits, one of which is that because each pro-cess has it’s own heap and there are presum-ably numerous process’s,... update: Ah... I think the relevant part is in 3.3 Lightweight threads. > 3.3. Lightweight threads > The effect is that Erlang is one of a fewlanguages that actually does preemptive mul-titasking. The reduction count of 2000, whichis sub 1ms, is quite low and forces many smallcontext switches between the Erlang processes.
- glun 7y agoJava will get lightweight threads soon. You can google "java fibers".