On 2015/09/04 12:56:34, caitp wrote:
On 2015/09/04 12:45:23, caitp wrote:
> On 2015/09/04 12:34:32, caitp wrote:
> > On 2015/09/02 21:11:14, commit-bot: I haz the power wrote:
> > > Patchset 13 (id:??) landed as
> > > https://crrev.com/510baeacbab311798d5e8795800ff773d00d062c
> > > Cr-Commit-Position: refs/heads/master@{#30550}
> >
> > Based on a simple microbenchmark, http://jsperf.com/v8-rest-parameters3/2,
> this
> > may have been more damaging to perf than I thought it would be :( This
> surprises
> > me a bit
>
> Actually, I may have spoken too soon. I guess the xeon in my mac pro just
gets
> through these tests slower than the i7 in my laptop. It still seems to be
> slightly faster than the old implementation
> http://jsperf.com/v8-rest-parameters3/3

Spoke too soon again, console.log was weighing heavier on the tests than I
thought :( http://jsperf.com/v8-rest-parameters2/4 so, the old implementation
was faster :\ This is confusing since the desugaring is very similar to
babel's
implementation

http://jsperf.com/v8-rest-parameters2/5 did some experimentation to see why the babel impl does so much better, the biggest problem seems to be the use of "let" (providing us with the proper TDZ). Some other improvements can also be obtained
via pre allocating the rest array rather than using the empty array literal.

(The bare*_func() versions do not exactly match the desugaring, due to not using
%AppendElement() and instead using babel-style assignment, which is not
technically correct per-spec).

Things to improve include making `let` declarations faster in general (quite
possibly related to hole-checking :() and pre-allocating the array size while
still using the fastest spec-correct means of filling in the values.


https://codereview.chromium.org/1272673003/

--
--
v8-dev mailing list
v8-dev@googlegroups.com
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 v8-dev+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to