Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

I'm curious fast message sends need to be to be considered "fast". IIRC, until recently Erlang used a separate heap and mailbox for each process, so each message send required a full copy of the message. That fast enough? Otherwise Erlang didn't really have Erlang-style concurrency.

I think that Erlang now uses a shared heap for messages with message passing just being a pointer copy into the receiving process's mailbox. But concurrent shared-heap GC is much harder to get right than per-process heaps, so I'm asking mostly to simplify implementation of my own concurrent programming language. :-)



Nope, as of now each process has a separate copy, even when they are both on the same node. "The exception is large binary objects, which are handled specially by placing them outside the normal data areas and using reference counting to keep track of them. They are not copied when sent as messages between processes on the same node." http://erlang.org/pipermail/erlang-questions/2006-September/...




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: