W3C home > Mailing lists > Public > public-webapps@w3.org > July to September 2010

Re: [whatwg] ArrayBuffer and ByteArray questions

From: Kenneth Russell <kbr@google.com>
Date: Wed, 8 Sep 2010 11:29:44 -0700
Message-ID: <AANLkTim4cvQFtKZdMH41xfC58jP9NRK7PnM2PSY4hq_U@mail.gmail.com>
To: Oliver Hunt <oliver@apple.com>
Cc: Chris Marrin <cmarrin@apple.com>, Simon Pieters <simonp@opera.com>, whatwg@lists.whatwg.org, Web Applications Working Group WG <public-webapps@w3.org>
On Wed, Sep 8, 2010 at 11:21 AM, Oliver Hunt <oliver@apple.com> wrote:
>
> On Sep 8, 2010, at 11:13 AM, Chris Marrin wrote:
>
>> Web Sockets is certainly another candidate, but I meant Web Workers. There have been informal discussions on using ArrayBuffers as a way to safely share binary data between threads. I don't believe anything has been formalized here.
>
> You can't share data between workers.  There is no (and there cannot be) any shared state between multiple threads of JS execution.

Let's say "efficiently send" rather than "share". The current thinking
has been around a way to post one ArrayBuffer to a worker which would
"close" that ArrayBuffer and all views on the main thread. The way to
get the same backing store from the worker back to the main thread
would be to post the ArrayBuffer from the worker to the main thread,
at which point the ArrayBuffer and all views on the worker would be
"closed". This ping-ponging would allow efficient implementation of
producer/consumer queues without allocating new backing store each
time the worker wants to produce something for the main thread.

This would require some small API additions to the typed array spec,
and a prototype so we can convince ourselves of its effectiveness.

-Ken
Received on Wednesday, 8 September 2010 18:30:26 GMT

This archive was generated by hypermail 2.3.1 : Tuesday, 26 March 2013 18:49:40 GMT