←back to thread

175 points nateb2022 | 1 comments | | HN request time: 0.198s | source
Show context
nahuel0x ◴[] No.41522944[source]
Three big differences in comparison with Erlang: 1- Cannot externally kill a process (yes, ergo process have a Kill method but the process will be in a "zombie" state until the current message handlers returns... maybe stuck forever) 2- No hot code reloading. 3- No per-process GC.
replies(4): >>41523113 #>>41523543 #>>41524544 #>>41525115 #
neonsunset ◴[] No.41524544[source]
No per-process GC (still very configurable) but for hot-reload, if you don't mind a completely different language, there are Akka.net and Orleans:

https://github.com/akkadotnet/akka.net

https://github.com/dotnet/orleans

replies(1): >>41525860 #
sbuttgereit ◴[] No.41525860[source]
Of course... if you don't mind a completely different language and runtime stack... there's always Erlang & Elixir!
replies(2): >>41525898 #>>41527967 #
neonsunset ◴[] No.41525898[source]
This is true, but they come with a different set of tradeoffs w.r.t ecosystem, tooling and performance (which turns into per-node efficiency in this case). There is also a matter of comfort and team/personal preferences.
replies(1): >>41526958 #
hosh ◴[] No.41526958[source]
What do you mean by per-node efficiency?
replies(1): >>41528198 #
1. neonsunset ◴[] No.41528198[source]
Amount of work a node can perform in a distributed system per X amount of hardware resources that it has.