Probably not entirely, Erlang&#x27;s lightweight processes have their own private heap (~1.8KB by default on a 64b system), a process dictionary and likely more control structures, and the language is mainly interpreted. A 4x different in performance may be on the high side (idk), but I wouldn&#x27;t expect erlang processes to be quite as fast to spawn as goroutines.<p>edit: and the erlang bench allocates a bunch of lists on startup: <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> `lists:seq()` will allocate a 10-elements linked list, considering this is called recursively and concurrently it might contribute to the issue (or not)