benchmarks: add microbenchmarks for new ES6 features#6222
benchmarks: add microbenchmarks for new ES6 features#6222jasnell wants to merge 2 commits intonodejs:masterfrom
Conversation
cc2bc39 to
91bd204
Compare
|
@nodejs/benchmarking |
|
I feel like these kinds of benchmarks should have their own, specific subdirectory rather than living in |
There was a problem hiding this comment.
This should be calling c(), not b().
There was a problem hiding this comment.
ha! stupid cut n paste errors
There was a problem hiding this comment.
Also, I think a(), b(), and c() should be renamed to something more descriptive.
91bd204 to
55e546a
Compare
There was a problem hiding this comment.
Perhaps this should be named something like runSwapDestructure or something and the other one like runSwapManual.
55e546a to
6d5058e
Compare
|
@mscdex ... done! benchmarks moved to a separate dir |
There was a problem hiding this comment.
s/Unexpected/Unexpected method/
Same for the other benchmark files.
It's useful to be able to force optimization of a function. Rather than duplicating the code everywhere for it, let's make a utility available.
Adds new microbenchmarks for destructuring, rest params and default params.
f5b3d1e to
5071349
Compare
|
@mscdex ... done. Also, I moved the v8 force optimization code out to a utility function so it can be easily reused. |
|
I'm not enough of a v8 expert to know if moving the forced optimization out to a separate function changes behavior at all or not (optimizing via a |
|
running a few tests it did not appear to change the behavior at all. |
|
@vkurchatkin ... any insights? |
|
mscdex... LGTY? |
|
running tests on the optimization code here and it does not appear that there is any difference in how it optimizes when called like this... at least no obvious difference |
|
LGTM then |
It's useful to be able to force optimization of a function. Rather than duplicating the code everywhere for it, let's make a utility available. PR-URL: #6222 Reviewed-By: Brian White <[email protected]>
Adds new microbenchmarks for destructuring, rest params and default params. PR-URL: #6222 Reviewed-By: Brian White <[email protected]>
|
Landed in cb9eff2 and 7dc1a87 |
It's useful to be able to force optimization of a function. Rather than duplicating the code everywhere for it, let's make a utility available. PR-URL: nodejs#6222 Reviewed-By: Brian White <[email protected]>
Adds new microbenchmarks for destructuring, rest params and default params. PR-URL: nodejs#6222 Reviewed-By: Brian White <[email protected]>
It's useful to be able to force optimization of a function. Rather than duplicating the code everywhere for it, let's make a utility available. PR-URL: #6222 Reviewed-By: Brian White <[email protected]>
Adds new microbenchmarks for destructuring, rest params and default params. PR-URL: #6222 Reviewed-By: Brian White <[email protected]>
Checklist
Affected core subsystem(s)
benchmarks
Description of change
Adds new microbenchmarks for destructuring, rest params and default params.
Now that v8 v5 has landed, it makes sense to track the perf of various new language features. These are very simple raw micro-benchmarks.
Current results from master:
( Note how much slower the new destructuring assignment is for a simple var swap :-/ )