That's extremely useful, thanks!
I will take a closer at array.js to understand how "%directive" are 
resolved. 

> f Array.p.splice() performance is vital to you, you can try
> open-coding it. I did something similar in Node.js a few years ago, to
> great effect: 
https://github.com/nodejs/node/commit/d3f8db124463e478420d8bba6fa5cf13af7b4ecb

Aha, it was you... I'm already experimenting with your spliceOne function 
in Opal to improve the performance :)

Many thanks!
Le jeudi 24 septembre 2020 à 12:08:42 UTC+2, Ben Noordhuis a écrit :

> On Thu, Sep 24, 2020 at 11:39 AM Guillaume Grossetie
> <gross...@gmail.com> wrote:
> >
> > Thanks for your answer Ben.
> >
> > > Perhaps V8 could be made smart enough to distinguish between benign
> > > and non-benign prototype tampering but the subset that can be proven
> > > safe is probably so small that it's not worth the complexity and
> > > overhead.
> >
> > Yes, I agree.
> > Alternatively, could v8 use the pre 7.1 impl of Array#splice when the 
> prototype has been modified?
> > Obviously, this is easier said than done and I'm guessing that it might 
> not be an easy task.
> > But it's worth noting that the pre 7.1 impl performance (with and 
> without prototype tampering) were similar.
> > Not sure how it was all made possible... but it was great for us :)
> >
> > Anyway thanks again for your input!
> > Have a nice day
>
> Older versions of V8 called out to this JS-with-extensions code:
> https://github.com/v8/v8/blob/7.0.1/src/js/array.js#L599-L642 - I
> don't speak for the V8 team but I don't believe they're looking to
> return to that approach.
>
> If Array.p.splice() performance is vital to you, you can try
> open-coding it. I did something similar in Node.js a few years ago, to
> great effect: 
> https://github.com/nodejs/node/commit/d3f8db124463e478420d8bba6fa5cf13af7b4ecb
>

-- 
-- 
v8-users mailing list
v8-users@googlegroups.com
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 v8-users+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/v8-users/1913dad6-49b9-402d-a1bb-b5d49f233707n%40googlegroups.com.

Reply via email to