node/benchmark/querystring/querystring-parse.js
Bartosz Sosnowski f48763c5b9
benchmark: remove benchmarks forced optimizations
Removes all instances of %OptimizeFunctionOnNextCall from benchmarks

Refs: https://github.com/nodejs/node/pull/9615
Refs: https://github.com/nodejs/node/pull/11720
2017-03-21 09:50:45 -04:00

38 lines
935 B
JavaScript

'use strict';
var common = require('../common.js');
var querystring = require('querystring');
var inputs = require('../fixtures/url-inputs.js').searchParams;
var bench = common.createBenchmark(main, {
type: Object.keys(inputs),
n: [1e6],
});
function main(conf) {
var type = conf.type;
var n = conf.n | 0;
var input = inputs[type];
var i;
// Optimize querystring.parse() so that the benchmark doesn't get
// disrupted by the optimizer kicking in halfway through.
if (type !== 'multicharsep') {
for (i = 0; i < n; i += 1)
querystring.parse(input);
} else {
for (i = 0; i < n; i += 1)
querystring.parse(input, '&&&&&&&&&&');
}
if (type !== 'multicharsep') {
bench.start();
for (i = 0; i < n; i += 1)
querystring.parse(input);
bench.end(n);
} else {
bench.start();
for (i = 0; i < n; i += 1)
querystring.parse(input, '&&&&&&&&&&');
bench.end(n);
}
}