'use strict';

const common = require('../common.js');
const bench = common.createBenchmark(main, {
  n: [4e5]
});

function main({ n }) {
  let j = 0;

  function cb() {
    j++;
    if (j === n)
      bench.end(n);
  }

  bench.start();
  for (let i = 0; i < n; i++) {
    queueMicrotask(cb);
  }
}
