0
0
mirror of https://github.com/nodejs/node.git synced 2024-12-01 16:10:02 +01:00
nodejs/benchmark/querystring/querystring-parse.js
Bartosz Sosnowski 57b5ce1d8e benchmark: remove querystring forced optimization
This removes all instances of %OptimizeFunctionOnNextCall from
querystring benchmarks

PR-URL: https://github.com/nodejs/node/pull/9615
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
2017-03-06 16:32:01 +01:00

36 lines
890 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;
// Execute the function a "sufficient" number of times before the timed
// loop to ensure the function is optimized just once.
if (type === 'multicharsep') {
for (i = 0; i < n; i += 1)
querystring.parse(input, '&&&&&&&&&&');
bench.start();
for (i = 0; i < n; i += 1)
querystring.parse(input, '&&&&&&&&&&');
bench.end(n);
} else {
for (i = 0; i < n; i += 1)
querystring.parse(input);
bench.start();
for (i = 0; i < n; i += 1)
querystring.parse(input);
bench.end(n);
}
}