summaryrefslogtreecommitdiff
path: root/benchmark
diff options
context:
space:
mode:
authorBartosz Sosnowski <bartosz@janeasystems.com>2017-03-01 12:45:05 +0100
committerBartosz Sosnowski <bartosz@janeasystems.com>2017-03-06 16:32:01 +0100
commit57b5ce1d8ed5c64d9ffcca1f97c8d58b9bb41e19 (patch)
treef9b2e8b3b290e5403292bff850cd0409ff3ba345 /benchmark
parenteba2c62bb10fb65785050600212f70d38f1ffba3 (diff)
downloadandroid-node-v8-57b5ce1d8ed5c64d9ffcca1f97c8d58b9bb41e19.tar.gz
android-node-v8-57b5ce1d8ed5c64d9ffcca1f97c8d58b9bb41e19.tar.bz2
android-node-v8-57b5ce1d8ed5c64d9ffcca1f97c8d58b9bb41e19.zip
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>
Diffstat (limited to 'benchmark')
-rw-r--r--benchmark/querystring/querystring-parse.js15
-rw-r--r--benchmark/querystring/querystring-stringify.js5
2 files changed, 2 insertions, 18 deletions
diff --git a/benchmark/querystring/querystring-parse.js b/benchmark/querystring/querystring-parse.js
index a44c3879bd..eacbd7f92a 100644
--- a/benchmark/querystring/querystring-parse.js
+++ b/benchmark/querystring/querystring-parse.js
@@ -1,7 +1,6 @@
'use strict';
var common = require('../common.js');
var querystring = require('querystring');
-var v8 = require('v8');
var inputs = require('../fixtures/url-inputs.js').searchParams;
var bench = common.createBenchmark(main, {
@@ -9,23 +8,13 @@ var bench = common.createBenchmark(main, {
n: [1e6],
});
-// A deopt followed by a reopt of main() can happen right when the timed loop
-// starts, which seems to have a noticeable effect on the benchmark results.
-// So we explicitly disable optimization of main() to avoid this potential
-// issue.
-v8.setFlagsFromString('--allow_natives_syntax');
-eval('%NeverOptimizeFunction(main)');
-
function main(conf) {
var type = conf.type;
var n = conf.n | 0;
var input = inputs[type];
var i;
-
- // Note: we do *not* use OptimizeFunctionOnNextCall() here because currently
- // it causes a deopt followed by a reopt, which could make its way into the
- // timed loop. Instead, just execute the function a "sufficient" number of
- // times before the timed loop to ensure the function is optimized just once.
+ // 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, '&&&&&&&&&&');
diff --git a/benchmark/querystring/querystring-stringify.js b/benchmark/querystring/querystring-stringify.js
index 5870a69055..7e31a49e99 100644
--- a/benchmark/querystring/querystring-stringify.js
+++ b/benchmark/querystring/querystring-stringify.js
@@ -1,7 +1,6 @@
'use strict';
var common = require('../common.js');
var querystring = require('querystring');
-var v8 = require('v8');
var bench = common.createBenchmark(main, {
type: ['noencode', 'encodemany', 'encodelast'],
@@ -36,10 +35,6 @@ function main(conf) {
for (var name in inputs)
querystring.stringify(inputs[name]);
- v8.setFlagsFromString('--allow_natives_syntax');
- eval('%OptimizeFunctionOnNextCall(querystring.stringify)');
- querystring.stringify(input);
-
bench.start();
for (var i = 0; i < n; i += 1)
querystring.stringify(input);