[erlang-questions] Why are messages between processes copied?

Lukas Larsson <>
Thu Feb 23 09:22:32 CET 2012

Not sure what you mean by moving structures as opposed to copying?

Using escape analysis to determine if the whole message should be
copied or only a reference would require a rewrite of the GC from
copy-and-collect to something like mark and sweep. And I'm doubtful
that many cases could be identified where a none of the terms part of
the data sent would be kept in the process sending the message.


On Thu, Feb 23, 2012 at 8:02 AM, Masklinn <> wrote:
> On 2012-02-22, at 23:32 , Lukas Larsson wrote:
>> Hello,
>> It makes garbage collection much easier and more predictable as the
>> heaps of each process then can be completely isolated. There have been
>> attempts to make a hybrid heap which would allows non copy message
>> passing, but afaik the attempts have been abandoned.
> Have there been attempts in moving structures from one process to the
> next (instead of copying), using escape analysis to see whether a
> structure can be safely moved?
> _______________________________________________
> erlang-questions mailing list
> http://erlang.org/mailman/listinfo/erlang-questions

More information about the erlang-questions mailing list