benchmark: fix next-tick-depth
A recent change made these benchmarks fail by always finishing with 0 iterations. Restore a counter variable. PR-URL: https://github.com/nodejs/node/pull/20461 Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de> Reviewed-By: Rich Trott <rtrott@gmail.com>
This commit is contained in:
parent
24a5ac797d
commit
a957f248ae
@ -8,13 +8,14 @@ const bench = common.createBenchmark(main, {
|
|||||||
process.maxTickDepth = Infinity;
|
process.maxTickDepth = Infinity;
|
||||||
|
|
||||||
function main({ n }) {
|
function main({ n }) {
|
||||||
|
let counter = n;
|
||||||
function cb4(arg1, arg2, arg3, arg4) {
|
function cb4(arg1, arg2, arg3, arg4) {
|
||||||
if (--n) {
|
if (--counter) {
|
||||||
if (n % 4 === 0)
|
if (counter % 4 === 0)
|
||||||
process.nextTick(cb4, 3.14, 1024, true, false);
|
process.nextTick(cb4, 3.14, 1024, true, false);
|
||||||
else if (n % 3 === 0)
|
else if (counter % 3 === 0)
|
||||||
process.nextTick(cb3, 512, true, null);
|
process.nextTick(cb3, 512, true, null);
|
||||||
else if (n % 2 === 0)
|
else if (counter % 2 === 0)
|
||||||
process.nextTick(cb2, false, 5.1);
|
process.nextTick(cb2, false, 5.1);
|
||||||
else
|
else
|
||||||
process.nextTick(cb1, 0);
|
process.nextTick(cb1, 0);
|
||||||
@ -22,12 +23,12 @@ function main({ n }) {
|
|||||||
bench.end(n);
|
bench.end(n);
|
||||||
}
|
}
|
||||||
function cb3(arg1, arg2, arg3) {
|
function cb3(arg1, arg2, arg3) {
|
||||||
if (--n) {
|
if (--counter) {
|
||||||
if (n % 4 === 0)
|
if (counter % 4 === 0)
|
||||||
process.nextTick(cb4, 3.14, 1024, true, false);
|
process.nextTick(cb4, 3.14, 1024, true, false);
|
||||||
else if (n % 3 === 0)
|
else if (counter % 3 === 0)
|
||||||
process.nextTick(cb3, 512, true, null);
|
process.nextTick(cb3, 512, true, null);
|
||||||
else if (n % 2 === 0)
|
else if (counter % 2 === 0)
|
||||||
process.nextTick(cb2, false, 5.1);
|
process.nextTick(cb2, false, 5.1);
|
||||||
else
|
else
|
||||||
process.nextTick(cb1, 0);
|
process.nextTick(cb1, 0);
|
||||||
@ -35,12 +36,12 @@ function main({ n }) {
|
|||||||
bench.end(n);
|
bench.end(n);
|
||||||
}
|
}
|
||||||
function cb2(arg1, arg2) {
|
function cb2(arg1, arg2) {
|
||||||
if (--n) {
|
if (--counter) {
|
||||||
if (n % 4 === 0)
|
if (counter % 4 === 0)
|
||||||
process.nextTick(cb4, 3.14, 1024, true, false);
|
process.nextTick(cb4, 3.14, 1024, true, false);
|
||||||
else if (n % 3 === 0)
|
else if (counter % 3 === 0)
|
||||||
process.nextTick(cb3, 512, true, null);
|
process.nextTick(cb3, 512, true, null);
|
||||||
else if (n % 2 === 0)
|
else if (counter % 2 === 0)
|
||||||
process.nextTick(cb2, false, 5.1);
|
process.nextTick(cb2, false, 5.1);
|
||||||
else
|
else
|
||||||
process.nextTick(cb1, 0);
|
process.nextTick(cb1, 0);
|
||||||
@ -48,12 +49,12 @@ function main({ n }) {
|
|||||||
bench.end(n);
|
bench.end(n);
|
||||||
}
|
}
|
||||||
function cb1(arg1) {
|
function cb1(arg1) {
|
||||||
if (--n) {
|
if (--counter) {
|
||||||
if (n % 4 === 0)
|
if (counter % 4 === 0)
|
||||||
process.nextTick(cb4, 3.14, 1024, true, false);
|
process.nextTick(cb4, 3.14, 1024, true, false);
|
||||||
else if (n % 3 === 0)
|
else if (counter % 3 === 0)
|
||||||
process.nextTick(cb3, 512, true, null);
|
process.nextTick(cb3, 512, true, null);
|
||||||
else if (n % 2 === 0)
|
else if (counter % 2 === 0)
|
||||||
process.nextTick(cb2, false, 5.1);
|
process.nextTick(cb2, false, 5.1);
|
||||||
else
|
else
|
||||||
process.nextTick(cb1, 0);
|
process.nextTick(cb1, 0);
|
||||||
|
@ -7,11 +7,11 @@ const bench = common.createBenchmark(main, {
|
|||||||
process.maxTickDepth = Infinity;
|
process.maxTickDepth = Infinity;
|
||||||
|
|
||||||
function main({ n }) {
|
function main({ n }) {
|
||||||
|
let counter = n;
|
||||||
bench.start();
|
bench.start();
|
||||||
process.nextTick(onNextTick);
|
process.nextTick(onNextTick);
|
||||||
function onNextTick() {
|
function onNextTick() {
|
||||||
if (--n)
|
if (--counter)
|
||||||
process.nextTick(onNextTick);
|
process.nextTick(onNextTick);
|
||||||
else
|
else
|
||||||
bench.end(n);
|
bench.end(n);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user