0
0
mirror of https://github.com/nodejs/node.git synced 2024-12-01 16:10:02 +01:00
nodejs/benchmark/timers/timers-timeout-pooled.js
Ruben Bridgewater 5dc289b3f0
benchmark: (timers) use destructuring
PR-URL: https://github.com/nodejs/node/pull/18250
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
2018-01-23 01:29:19 +01:00

36 lines
825 B
JavaScript

'use strict';
const common = require('../common.js');
// The following benchmark measures setting up n * 1e6 timeouts,
// which then get executed on the next uv tick
const bench = common.createBenchmark(main, {
millions: [10],
});
function main({ millions }) {
const iterations = millions * 1e6;
let count = 0;
// Function tracking on the hidden class in V8 can cause misleading
// results in this benchmark if only a single function is used —
// alternate between two functions for a fairer benchmark
function cb() {
count++;
if (count === iterations)
bench.end(iterations / 1e6);
}
function cb2() {
count++;
if (count === iterations)
bench.end(iterations / 1e6);
}
for (var i = 0; i < iterations; i++) {
setTimeout(i % 2 ? cb : cb2, 1);
}
bench.start();
}