Oh, actually, I wonder if the "transfer" semantics of ArrayBuffers wouldn't 
give us the ability to emulate the exchange heap more accurately:

    http://www.khronos.org/registry/typedarray/specs/latest/#9.2
    http://updates.html5rocks.com/2011/12/Transferable-Objects-Lightning-Fast

Long story short: you can dynamically emulate unique ownership of binary data 
and transfer it between workers without copies. The sender's reference to the 
data becomes "neutered" so that it's unable to view the data after the send. Of 
course, Rust would guarantee it never even tried.

Dave

On Jul 19, 2012, at 6:32 AM, Niko Matsakis wrote:

> On 7/18/12 9:48 PM, David Herman wrote:
>> That would result in a very different performance model, since Rust expects 
>> to be able to create several metric craptons [1] of concurrent tasks, 
>> whereas the number of workers you can create is much smaller. But who knows, 
>> it might still be interesting enough to be useful for some kinds of 
>> programs; ClojureScript is making progress as a single-threaded dialect of 
>> Clojure, after all.
> 
> Not to mention that we would have to deep-copy all messages.
> 
> 
> 
> Niko

_______________________________________________
Rust-dev mailing list
[email protected]
https://mail.mozilla.org/listinfo/rust-dev

Reply via email to