Walter Bright wrote:
grauzone wrote:
Data this small you would simply copy. Because it's so small, copying
won't have negative performance impact. The OS approach can be used
for large data (at least in the order of hundreds of KB) and immutable
parts of the data segment.
You'd also have to transitively copy everything referenced.
If that becomes a problem depends entirely from how the message passing
API (or whatever) is used*. And the only common case where this works
really elegantly are strings. (But most strings are short and could be
copied effortlessly.)
On the contrary, frequently allocating immutable data on a shared heap
just to transfer it to another thread isn't going to be very efficient
either. You won't be able to go with a shared GC forever, because it SO
doesn't scale with multiprocessing.
* This stuff probably depends a lot on actual use cases. Did you or
Andrei envision anything in this direction? I figure you thought about
this much more than e.g. me, but I never hear any concrete things.