6 ms·
In Erjang, every node runs on a single heap, and so global gc will sometimes happen. On the other hand, Erjang does not copy messages between processes — they a
by jganetsk 17y ago
In Erjang, every node runs on a single heap, and so global gc will sometimes happen.
On the other hand, Erjang does not copy messages between processes — they are simply shared, and so that might leave some room for savings.
Will be interesting to see what happens, no doubt. Message copying will have to be implemented, anyway, for inter-node communication.
I don’t know how Java’s various garbage collector compares to the one in Erlang, but I guess that Java’s is significantly faster.
Doubtful. A garbage collector specially designed for small heaps, running on such, will outperform Java's general-purpose ones. Also, Erlang's GC is stop-the-world (where "world" here is an Erlang process), and that yields numerous benefits. I think Java's GC will not be better for erjang.
- silentbicycle 17y agoRight, and due to Erlang's lightweight processes, it's not unusual to have a process finish before it needs to do any garbage collection. You can tune for this by spawning a process with a larger heap than the default - if you know that it tends to grow up to a certain size and then finish, you can just spawn it with that much to start and it will skip GC entirely.