Comparing the fairness and real-time performance of schedulers in Erlang and Go

I don’t think the “lockstep” behavior you observed in Erlang is realistic or even desired. Also I cannot reproduce it; are you using a non-SMP run time? I do not have a go setup to test out the Go. version, but I suspect your Go result is also too in-sync-y for some reason.

I have:

erlang…work2 cnt: 894
erlang…work1 cnt: 674
erlang…work2 cnt: 895
erlang…work1 cnt: 675
erlang…work2 cnt: 896
^C

My erlang is:

derek@roastidious:~/projects/tt$ erl
Erlang/OTP 26 [erts-14.1] [source] [32-bit] [smp:32:4] [ds:32:4:10] [async-threads:1]

Eshell V14.1 (press Ctrl+G to abort, type help(). for help)
1>