News for hackers. Stuff that matters.
Re:The future of M:N threading by viraptor on Wednesday November 13, 2013 @01:57PM (#6727472)
With the nice tuning and code standards you don't need the gigabytes of variable lifetime objects. Of course the whole environment needs to be available in the right way, but for example it's not uncommon in erlang to see thousands of processes that have the memory size adjusted enough to never GC and finish quickly. Then you collect the whole process, rather than separate objects. Immutability also helps here.

Not many languages can afford doing that and of course there may be lots of features that prevent similar behaviour.

Re:The future of M:N threading by rdtsc on Wednesday November 13, 2013 @02:11PM (#6727582)
In Erlang GC is boringly easy. It has separate heaps for processes and processes are isolated. The price to pay is copying some data between processes and handling immutability. But boring is good. They manage a pauseless and concurrent GC without a sweat.
Re:The future of M:N threading by pron on Wednesday November 13, 2013 @05:12PM (#6729018)
Well, yes and no. Erlang's GC is simple, but incomplete. Shared data structures like ETS aren't GC-ed, and there are many data structures that you simply can't implement in Erlang because of the way that GC works. For example, you can't implement Java's concurrent hash-map in Erlang. Erlang relies on C code whenever it needs shared data structures.

So the simple and effective GC comes at the cost of a limited programming model. For Erlang, it's the right tradeoff, but not for every environment.