I work on the Chrome implementation of ReadableStream and WritableStream
<https://streams.spec.whatwg.org/>. They are implemented in Javascript
using v8 extras.

They currently use an InternalPackedArray to implement a queue structure,
however I have found a scalability issue. The benchmarks and repro can be
found at http://crbug.com/681493 ("ReadableStream, WritableStream get
dramatically slower when queue grows to 56720 chunks").

I have a proposed fix at http://crrev.com/2637863002. If possible, I would
like someone who is familiar with the implementation of InternalPackedArray
to review it.

Particular things I'd like to know:

   - Is it worth worrying about deopt or would it be better to use
   InternalPackedArray for small queues and only switch to Queue for larger
   ones?
   - Is 32768 a good size to split the arrays at? Can we be reasonably sure
   that it is small enough to get good behaviour on all platforms and
   architectures?

and if possible

   - why does performance change so dramatically at a threshold?

Thanks,
Adam Rice

-- 
-- 
v8-users mailing list
[email protected]
http://groups.google.com/group/v8-users
--- 
You received this message because you are subscribed to the Google Groups 
"v8-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to