4 ms·
That's because Erlang's GC is managed on a per-lightweight-process basis, which is possible because of the share-nothing nature of the concurrency model Erlang
by im_down_w_otp 11y ago
That's because Erlang's GC is managed on a per-lightweight-process basis, which is possible because of the share-nothing nature of the concurrency model Erlang uses (actor/message-passing).
Garbage collection in Go can't be implemented the same way, because Go allows for shared mutable state.
That said, the work done to the GC in Go v1.5 seems quite phenomenal, but just because the two runtimes share a piece of terminology called "garbage collector", they're very, very different in terms of the semantics and effects exposed.
- pjmlp 11y agoApparently in 2016 we still need to make people aware that not all GCs are born the same way.