I kinda know the theoretical differences but I’m curious what hn thinks. Has someone actually deployed things in some of these.
I do have preference towards rust but maybe there’s something better.
I kinda know the theoretical differences but I’m curious what hn thinks. Has someone actually deployed things in some of these.
I do have preference towards rust but maybe there’s something better.
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.
There's a JVM vs BEAM VM comparison paper (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.
I've been using it lately, coming from Node.js for the last few years, and it's been a really nice change.
If you are specifically making a graphql backend, idk why you would anything but node, since it has the most mature ecosystem.
I've been building software using the exact stack described in the linked article for the last three years. I don't think about my backend very much, it mostly just works. Most of the work is on the front end. Elixir/Phoenix/Absinthe have been almost completely frustration-free. I'm sure Rust and Kotlin are great too.