there is a major flaw in the erlang version which causes unnecessary list allocation and garbage collection multiplied by 1 million times. I would try to replace lists:seq(0,9) with a tail recursion.
Even that it&#x27;s a small list of 10 integers, it is still created 1 million times.<p><a href="https:&#x2F;&#x2F;github.com&#x2F;atemerev&#x2F;skynet&#x2F;blob&#x2F;master&#x2F;erlang&#x2F;skynet.erl#L10" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;atemerev&#x2F;skynet&#x2F;blob&#x2F;master&#x2F;erlang&#x2F;skynet...</a><p>EDIT: it seems that list:seq overhead is insignificant - so it doesn&#x27;t matter, maybe erlang compiler already optimizing it. I even inlined the calls to spawn - it still the same result. 
But I found another problem: it seems that some processes are stuck - so if you run benchmark the 3rd time - yo get out of processes.<p>EDIT2:
Note, that unlike other solutions. Erlang has process isolation, i.e. if there is a panic in one of your goroutines - your entire server will crash, but if there is  an exception in your erlang process - only that process will crash, not affecting other processes in your server (unless they linked with it).