Conversation

Replying to and
Languages can be designed around thread-local heaps with special types for either transferring ownership of data to another thread or sharing data. JavaScript is essentially designed that way with the ability to transfer an ArrayBuffer or to explicitly use a SharedArrayBuffer.
1
1
Replying to and
There's much less overhead if nearly everything is on fully separate thread-local heaps unable to reference each other. So much of the overhead comes from sharing a huge heap between threads. Short-lived tasks would be able to completely avoid ever actually collecting garbage.