'use strict'; const common = require('../common.js'); const assert = require('assert'); const bench = common.createBenchmark(main, { n: [2e5], method: ['throws', 'doesNotThrow'], }, { combinationFilter(p) { // These benchmarks purposefully do not run by default. They do not provide // much insight, due to only being a small wrapper around a try / catch. return p.n === 1; }, }); function main({ n, method }) { const fn = assert[method]; const shouldThrow = method === 'throws'; bench.start(); for (let i = 0; i < n; ++i) { fn(() => { const err = new Error(`assert.${method}`); if (shouldThrow) { throw err; } else { return err; } }); } bench.end(n); }