top | item 40431689

(no title)

asabil | 1 year ago

GC determinism is one of the things you get. Another one is non cooperative asynchronous termination.

discuss

order

neonsunset|1 year ago

Pretty much all efficient GC implementations are inherently non-deterministic, even if predictable.

How can this improve predictability of GC impact?

asabil|1 year ago

No global GC. Each erlang process does its own GC, and the GC only happens when the process runs out of space (ie. the heap and stack meet).

You can for example configure a process to have enough initial memory so as not to ever run into GC, this is especially useful if you have a process that does a specific task before terminating. Once terminated the entire process memory is reclaimed.