diff options
author | Anatoli Papirovski <apapirovski@mac.com> | 2019-04-22 12:09:56 -0700 |
---|---|---|
committer | Daniel Bevenius <daniel.bevenius@gmail.com> | 2019-04-30 08:36:55 +0200 |
commit | f4f937b296f62c11dfbd3a8f92abac81049b629e (patch) | |
tree | f1622dcc24185286d011a94944a2cb569f88716e /benchmark | |
parent | d33fddb7f43fffedb4f33f62e3d7b2af8a40f60b (diff) | |
download | android-node-v8-f4f937b296f62c11dfbd3a8f92abac81049b629e.tar.gz android-node-v8-f4f937b296f62c11dfbd3a8f92abac81049b629e.tar.bz2 android-node-v8-f4f937b296f62c11dfbd3a8f92abac81049b629e.zip |
lib: remove Reflect.apply where appropriate
Using Reflect.apply where the callback context does not need
to change is unnecessary and less performant.
PR-URL: https://github.com/nodejs/node/pull/27349
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com>
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
Reviewed-By: Michaƫl Zasso <targos@protonmail.com>
Reviewed-By: Gus Caplan <me@gus.host>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Diffstat (limited to 'benchmark')
-rw-r--r-- | benchmark/timers/timers-breadth-args.js | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/benchmark/timers/timers-breadth-args.js b/benchmark/timers/timers-breadth-args.js new file mode 100644 index 0000000000..5f91603caa --- /dev/null +++ b/benchmark/timers/timers-breadth-args.js @@ -0,0 +1,42 @@ +'use strict'; +const common = require('../common.js'); + +const bench = common.createBenchmark(main, { + n: [1e6], +}); + +function main({ n }) { + var j = 0; + function cb1(arg1) { + j++; + if (j === n) + bench.end(n); + } + function cb2(arg1, arg2) { + j++; + if (j === n) + bench.end(n); + } + function cb3(arg1, arg2, arg3) { + j++; + if (j === n) + bench.end(n); + } + function cb4(arg1, arg2, arg3, arg4) { + j++; + if (j === n) + bench.end(n); + } + + bench.start(); + for (var i = 0; i < n; i++) { + if (i % 4 === 0) + setTimeout(cb4, 1, 3.14, 1024, true, false); + else if (i % 3 === 0) + setTimeout(cb3, 1, 512, true, null); + else if (i % 2 === 0) + setTimeout(cb2, 1, false, 5.1); + else + setTimeout(cb1, 1, 0); + } +} |