Hello again!

Kindly reminding about this question.

Thank you,
Fedor.

On Fri, Sep 4, 2015 at 2:06 AM, Fedor Indutny <[email protected]> wrote:

> Hello!
>
> This is a follow-up on the discussion started in:
> https://codereview.chromium.org/1324023007/ .
>
> There appears to be a performance regression in the recent v8 versions.
> From my tests the regression comes from the introduction of the `std::map`s
> to keep the live array buffers. Iterating over it is pretty much fast, but
> inserting the buffers into it has non-linear time (because `std::map`s are
> powered by Red-Black trees), thus slowing the things down.
>
> What's really interesting is that External strings solve the same problem
> differently and (it looks like) more efficiently. They are just using
> lists, and checking the marks on the list during GC. Insertion into the
> list is cheap, and can't really outperform the `std::map` insertion.
> Iteration with reading marks appears to be taking linear time, so it is
> still better than inserting things into the `std::map`. Even more, we do
> insertions into the maps during each GC cycle too, so the time is
> definitely bigger than just for the lists+markings.
>
> I suggest to merge these algorithms, and just use one class to manage both
> of them. In my opinion, the class should be using lists to improve the
> performance. I'm open to any kind of suggestions, though!
>
> Thank you,
> Fedor.
>

-- 
-- 
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev
--- 
You received this message because you are subscribed to the Google Groups 
"v8-dev" 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