node/benchmark/timers/timers-breadth-args.js
Anatoli Papirovski f4f937b296 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>
2019-04-30 08:36:55 +02:00

43 lines
780 B
JavaScript

'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);
}
}