From f4f937b296f62c11dfbd3a8f92abac81049b629e Mon Sep 17 00:00:00 2001 From: Anatoli Papirovski Date: Mon, 22 Apr 2019 12:09:56 -0700 Subject: lib: remove Reflect.apply where appropriate MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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 Reviewed-By: Colin Ihrig Reviewed-By: Jeremiah Senkpiel Reviewed-By: Ruben Bridgewater Reviewed-By: Michaƫl Zasso Reviewed-By: Gus Caplan Reviewed-By: Luigi Pinca --- benchmark/timers/timers-breadth-args.js | 42 +++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 benchmark/timers/timers-breadth-args.js (limited to 'benchmark') 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); + } +} -- cgit v1.2.3