Browse Source

benchmark: remove forced optimization from path

This removes all instances of %OptimizeFunctionOnNextCall from path
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>
v6
Bartosz Sosnowski 8 years ago
parent
commit
eba2c62bb1
  1. 7
      benchmark/path/basename-posix.js
  2. 7
      benchmark/path/basename-win32.js
  3. 7
      benchmark/path/dirname-posix.js
  4. 7
      benchmark/path/dirname-win32.js
  5. 7
      benchmark/path/extname-posix.js
  6. 7
      benchmark/path/extname-win32.js
  7. 7
      benchmark/path/format-posix.js
  8. 7
      benchmark/path/format-win32.js
  9. 7
      benchmark/path/isAbsolute-posix.js
  10. 7
      benchmark/path/isAbsolute-win32.js
  11. 7
      benchmark/path/join-posix.js
  12. 7
      benchmark/path/join-win32.js
  13. 7
      benchmark/path/makeLong-win32.js
  14. 7
      benchmark/path/normalize-posix.js
  15. 7
      benchmark/path/normalize-win32.js
  16. 12
      benchmark/path/parse-posix.js
  17. 12
      benchmark/path/parse-win32.js
  18. 12
      benchmark/path/relative-posix.js
  19. 12
      benchmark/path/relative-win32.js
  20. 7
      benchmark/path/resolve-posix.js
  21. 7
      benchmark/path/resolve-win32.js

7
benchmark/path/basename-posix.js

@ -1,7 +1,6 @@
'use strict'; 'use strict';
var common = require('../common.js'); var common = require('../common.js');
var path = require('path'); var path = require('path');
var v8 = require('v8');
var bench = common.createBenchmark(main, { var bench = common.createBenchmark(main, {
pathext: [ pathext: [
@ -30,12 +29,6 @@ function main(conf) {
input = input.slice(0, extIdx); input = input.slice(0, extIdx);
} }
// Force optimization before starting the benchmark
p.basename(input, ext);
v8.setFlagsFromString('--allow_natives_syntax');
eval('%OptimizeFunctionOnNextCall(p.basename)');
p.basename(input, ext);
bench.start(); bench.start();
for (var i = 0; i < n; i++) { for (var i = 0; i < n; i++) {
p.basename(input, ext); p.basename(input, ext);

7
benchmark/path/basename-win32.js

@ -1,7 +1,6 @@
'use strict'; 'use strict';
var common = require('../common.js'); var common = require('../common.js');
var path = require('path'); var path = require('path');
var v8 = require('v8');
var bench = common.createBenchmark(main, { var bench = common.createBenchmark(main, {
pathext: [ pathext: [
@ -30,12 +29,6 @@ function main(conf) {
input = input.slice(0, extIdx); input = input.slice(0, extIdx);
} }
// Force optimization before starting the benchmark
p.basename(input, ext);
v8.setFlagsFromString('--allow_natives_syntax');
eval('%OptimizeFunctionOnNextCall(p.basename)');
p.basename(input, ext);
bench.start(); bench.start();
for (var i = 0; i < n; i++) { for (var i = 0; i < n; i++) {
p.basename(input, ext); p.basename(input, ext);

7
benchmark/path/dirname-posix.js

@ -1,7 +1,6 @@
'use strict'; 'use strict';
var common = require('../common.js'); var common = require('../common.js');
var path = require('path'); var path = require('path');
var v8 = require('v8');
var bench = common.createBenchmark(main, { var bench = common.createBenchmark(main, {
path: [ path: [
@ -21,12 +20,6 @@ function main(conf) {
var p = path.posix; var p = path.posix;
var input = '' + conf.path; var input = '' + conf.path;
// Force optimization before starting the benchmark
p.dirname(input);
v8.setFlagsFromString('--allow_natives_syntax');
eval('%OptimizeFunctionOnNextCall(p.dirname)');
p.dirname(input);
bench.start(); bench.start();
for (var i = 0; i < n; i++) { for (var i = 0; i < n; i++) {
p.dirname(input); p.dirname(input);

7
benchmark/path/dirname-win32.js

@ -1,7 +1,6 @@
'use strict'; 'use strict';
var common = require('../common.js'); var common = require('../common.js');
var path = require('path'); var path = require('path');
var v8 = require('v8');
var bench = common.createBenchmark(main, { var bench = common.createBenchmark(main, {
path: [ path: [
@ -21,12 +20,6 @@ function main(conf) {
var p = path.win32; var p = path.win32;
var input = '' + conf.path; var input = '' + conf.path;
// Force optimization before starting the benchmark
p.dirname(input);
v8.setFlagsFromString('--allow_natives_syntax');
eval('%OptimizeFunctionOnNextCall(p.dirname)');
p.dirname(input);
bench.start(); bench.start();
for (var i = 0; i < n; i++) { for (var i = 0; i < n; i++) {
p.dirname(input); p.dirname(input);

7
benchmark/path/extname-posix.js

@ -1,7 +1,6 @@
'use strict'; 'use strict';
var common = require('../common.js'); var common = require('../common.js');
var path = require('path'); var path = require('path');
var v8 = require('v8');
var bench = common.createBenchmark(main, { var bench = common.createBenchmark(main, {
path: [ path: [
@ -24,12 +23,6 @@ function main(conf) {
var p = path.posix; var p = path.posix;
var input = '' + conf.path; var input = '' + conf.path;
// Force optimization before starting the benchmark
p.extname(input);
v8.setFlagsFromString('--allow_natives_syntax');
eval('%OptimizeFunctionOnNextCall(p.extname)');
p.extname(input);
bench.start(); bench.start();
for (var i = 0; i < n; i++) { for (var i = 0; i < n; i++) {
p.extname(input); p.extname(input);

7
benchmark/path/extname-win32.js

@ -1,7 +1,6 @@
'use strict'; 'use strict';
var common = require('../common.js'); var common = require('../common.js');
var path = require('path'); var path = require('path');
var v8 = require('v8');
var bench = common.createBenchmark(main, { var bench = common.createBenchmark(main, {
path: [ path: [
@ -24,12 +23,6 @@ function main(conf) {
var p = path.win32; var p = path.win32;
var input = '' + conf.path; var input = '' + conf.path;
// Force optimization before starting the benchmark
p.extname(input);
v8.setFlagsFromString('--allow_natives_syntax');
eval('%OptimizeFunctionOnNextCall(p.extname)');
p.extname(input);
bench.start(); bench.start();
for (var i = 0; i < n; i++) { for (var i = 0; i < n; i++) {
p.extname(input); p.extname(input);

7
benchmark/path/format-posix.js

@ -1,7 +1,6 @@
'use strict'; 'use strict';
var common = require('../common.js'); var common = require('../common.js');
var path = require('path'); var path = require('path');
var v8 = require('v8');
var bench = common.createBenchmark(main, { var bench = common.createBenchmark(main, {
props: [ props: [
@ -22,12 +21,6 @@ function main(conf) {
name: props[4] || '', name: props[4] || '',
}; };
// Force optimization before starting the benchmark
p.format(obj);
v8.setFlagsFromString('--allow_natives_syntax');
eval('%OptimizeFunctionOnNextCall(p.format)');
p.format(obj);
bench.start(); bench.start();
for (var i = 0; i < n; i++) { for (var i = 0; i < n; i++) {
p.format(obj); p.format(obj);

7
benchmark/path/format-win32.js

@ -1,7 +1,6 @@
'use strict'; 'use strict';
var common = require('../common.js'); var common = require('../common.js');
var path = require('path'); var path = require('path');
var v8 = require('v8');
var bench = common.createBenchmark(main, { var bench = common.createBenchmark(main, {
props: [ props: [
@ -22,12 +21,6 @@ function main(conf) {
name: props[4] || '', name: props[4] || '',
}; };
// Force optimization before starting the benchmark
p.format(obj);
v8.setFlagsFromString('--allow_natives_syntax');
eval('%OptimizeFunctionOnNextCall(p.format)');
p.format(obj);
bench.start(); bench.start();
for (var i = 0; i < n; i++) { for (var i = 0; i < n; i++) {
p.format(obj); p.format(obj);

7
benchmark/path/isAbsolute-posix.js

@ -1,7 +1,6 @@
'use strict'; 'use strict';
var common = require('../common.js'); var common = require('../common.js');
var path = require('path'); var path = require('path');
var v8 = require('v8');
var bench = common.createBenchmark(main, { var bench = common.createBenchmark(main, {
path: [ path: [
@ -19,12 +18,6 @@ function main(conf) {
var p = path.posix; var p = path.posix;
var input = '' + conf.path; var input = '' + conf.path;
// Force optimization before starting the benchmark
p.isAbsolute(input);
v8.setFlagsFromString('--allow_natives_syntax');
eval('%OptimizeFunctionOnNextCall(p.isAbsolute)');
p.isAbsolute(input);
bench.start(); bench.start();
for (var i = 0; i < n; i++) { for (var i = 0; i < n; i++) {
p.isAbsolute(input); p.isAbsolute(input);

7
benchmark/path/isAbsolute-win32.js

@ -1,7 +1,6 @@
'use strict'; 'use strict';
var common = require('../common.js'); var common = require('../common.js');
var path = require('path'); var path = require('path');
var v8 = require('v8');
var bench = common.createBenchmark(main, { var bench = common.createBenchmark(main, {
path: [ path: [
@ -20,12 +19,6 @@ function main(conf) {
var p = path.win32; var p = path.win32;
var input = '' + conf.path; var input = '' + conf.path;
// Force optimization before starting the benchmark
p.isAbsolute(input);
v8.setFlagsFromString('--allow_natives_syntax');
eval('%OptimizeFunctionOnNextCall(p.isAbsolute)');
p.isAbsolute(input);
bench.start(); bench.start();
for (var i = 0; i < n; i++) { for (var i = 0; i < n; i++) {
p.isAbsolute(input); p.isAbsolute(input);

7
benchmark/path/join-posix.js

@ -1,7 +1,6 @@
'use strict'; 'use strict';
var common = require('../common.js'); var common = require('../common.js');
var path = require('path'); var path = require('path');
var v8 = require('v8');
var bench = common.createBenchmark(main, { var bench = common.createBenchmark(main, {
paths: [ paths: [
@ -15,12 +14,6 @@ function main(conf) {
var p = path.posix; var p = path.posix;
var args = ('' + conf.paths).split('|'); var args = ('' + conf.paths).split('|');
// Force optimization before starting the benchmark
p.join.apply(null, args);
v8.setFlagsFromString('--allow_natives_syntax');
eval('%OptimizeFunctionOnNextCall(p.join)');
p.join.apply(null, args);
bench.start(); bench.start();
for (var i = 0; i < n; i++) { for (var i = 0; i < n; i++) {
p.join.apply(null, args); p.join.apply(null, args);

7
benchmark/path/join-win32.js

@ -1,7 +1,6 @@
'use strict'; 'use strict';
var common = require('../common.js'); var common = require('../common.js');
var path = require('path'); var path = require('path');
var v8 = require('v8');
var bench = common.createBenchmark(main, { var bench = common.createBenchmark(main, {
paths: [ paths: [
@ -15,12 +14,6 @@ function main(conf) {
var p = path.win32; var p = path.win32;
var args = ('' + conf.paths).split('|'); var args = ('' + conf.paths).split('|');
// Force optimization before starting the benchmark
p.join.apply(null, args);
v8.setFlagsFromString('--allow_natives_syntax');
eval('%OptimizeFunctionOnNextCall(p.join)');
p.join.apply(null, args);
bench.start(); bench.start();
for (var i = 0; i < n; i++) { for (var i = 0; i < n; i++) {
p.join.apply(null, args); p.join.apply(null, args);

7
benchmark/path/makeLong-win32.js

@ -1,7 +1,6 @@
'use strict'; 'use strict';
var common = require('../common.js'); var common = require('../common.js');
var path = require('path'); var path = require('path');
var v8 = require('v8');
var bench = common.createBenchmark(main, { var bench = common.createBenchmark(main, {
path: [ path: [
@ -18,12 +17,6 @@ function main(conf) {
var p = path.win32; var p = path.win32;
var input = '' + conf.path; var input = '' + conf.path;
// Force optimization before starting the benchmark
p._makeLong(input);
v8.setFlagsFromString('--allow_natives_syntax');
eval('%OptimizeFunctionOnNextCall(p._makeLong)');
p._makeLong(input);
bench.start(); bench.start();
for (var i = 0; i < n; i++) { for (var i = 0; i < n; i++) {
p._makeLong(input); p._makeLong(input);

7
benchmark/path/normalize-posix.js

@ -1,7 +1,6 @@
'use strict'; 'use strict';
var common = require('../common.js'); var common = require('../common.js');
var path = require('path'); var path = require('path');
var v8 = require('v8');
var bench = common.createBenchmark(main, { var bench = common.createBenchmark(main, {
path: [ path: [
@ -20,12 +19,6 @@ function main(conf) {
var p = path.posix; var p = path.posix;
var input = '' + conf.path; var input = '' + conf.path;
// Force optimization before starting the benchmark
p.normalize(input);
v8.setFlagsFromString('--allow_natives_syntax');
eval('%OptimizeFunctionOnNextCall(p.normalize)');
p.normalize(input);
bench.start(); bench.start();
for (var i = 0; i < n; i++) { for (var i = 0; i < n; i++) {
p.normalize(input); p.normalize(input);

7
benchmark/path/normalize-win32.js

@ -1,7 +1,6 @@
'use strict'; 'use strict';
var common = require('../common.js'); var common = require('../common.js');
var path = require('path'); var path = require('path');
var v8 = require('v8');
var bench = common.createBenchmark(main, { var bench = common.createBenchmark(main, {
path: [ path: [
@ -20,12 +19,6 @@ function main(conf) {
var p = path.win32; var p = path.win32;
var input = '' + conf.path; var input = '' + conf.path;
// Force optimization before starting the benchmark
p.normalize(input);
v8.setFlagsFromString('--allow_natives_syntax');
eval('%OptimizeFunctionOnNextCall(p.normalize)');
p.normalize(input);
bench.start(); bench.start();
for (var i = 0; i < n; i++) { for (var i = 0; i < n; i++) {
p.normalize(input); p.normalize(input);

12
benchmark/path/parse-posix.js

@ -1,7 +1,6 @@
'use strict'; 'use strict';
var common = require('../common.js'); var common = require('../common.js');
var path = require('path'); var path = require('path');
var v8 = require('v8');
var bench = common.createBenchmark(main, { var bench = common.createBenchmark(main, {
path: [ path: [
@ -21,15 +20,12 @@ function main(conf) {
var p = path.posix; var p = path.posix;
var input = '' + conf.path; var input = '' + conf.path;
// Force optimization before starting the benchmark
p.parse(input);
v8.setFlagsFromString('--allow_natives_syntax');
eval('%OptimizeFunctionOnNextCall(p.parse)');
p.parse(input);
bench.start();
for (var i = 0; i < n; i++) { for (var i = 0; i < n; i++) {
p.parse(input); p.parse(input);
} }
bench.start();
for (i = 0; i < n; i++) {
p.parse(input);
}
bench.end(n); bench.end(n);
} }

12
benchmark/path/parse-win32.js

@ -1,7 +1,6 @@
'use strict'; 'use strict';
var common = require('../common.js'); var common = require('../common.js');
var path = require('path'); var path = require('path');
var v8 = require('v8');
var bench = common.createBenchmark(main, { var bench = common.createBenchmark(main, {
path: [ path: [
@ -22,15 +21,12 @@ function main(conf) {
var p = path.win32; var p = path.win32;
var input = '' + conf.path; var input = '' + conf.path;
// Force optimization before starting the benchmark
p.parse(input);
v8.setFlagsFromString('--allow_natives_syntax');
eval('%OptimizeFunctionOnNextCall(p.parse)');
p.parse(input);
bench.start();
for (var i = 0; i < n; i++) { for (var i = 0; i < n; i++) {
p.parse(input); p.parse(input);
} }
bench.start();
for (i = 0; i < n; i++) {
p.parse(input);
}
bench.end(n); bench.end(n);
} }

12
benchmark/path/relative-posix.js

@ -1,7 +1,6 @@
'use strict'; 'use strict';
var common = require('../common.js'); var common = require('../common.js');
var path = require('path'); var path = require('path');
var v8 = require('v8');
var bench = common.createBenchmark(main, { var bench = common.createBenchmark(main, {
paths: [ paths: [
@ -26,15 +25,12 @@ function main(conf) {
to = from.slice(delimIdx + 1); to = from.slice(delimIdx + 1);
from = from.slice(0, delimIdx); from = from.slice(0, delimIdx);
} }
for (var i = 0; i < n; i++) {
// Force optimization before starting the benchmark p.relative(from, to);
p.relative(from, to); }
v8.setFlagsFromString('--allow_natives_syntax');
eval('%OptimizeFunctionOnNextCall(p.relative)');
p.relative(from, to);
bench.start(); bench.start();
for (var i = 0; i < n; i++) { for (i = 0; i < n; i++) {
p.relative(from, to); p.relative(from, to);
} }
bench.end(n); bench.end(n);

12
benchmark/path/relative-win32.js

@ -1,7 +1,6 @@
'use strict'; 'use strict';
var common = require('../common.js'); var common = require('../common.js');
var path = require('path'); var path = require('path');
var v8 = require('v8');
var bench = common.createBenchmark(main, { var bench = common.createBenchmark(main, {
paths: [ paths: [
@ -25,14 +24,13 @@ function main(conf) {
from = from.slice(0, delimIdx); from = from.slice(0, delimIdx);
} }
// Force optimization before starting the benchmark // Warmup
p.relative(from, to); for (var i = 0; i < n; i++) {
v8.setFlagsFromString('--allow_natives_syntax'); p.relative(from, to);
eval('%OptimizeFunctionOnNextCall(p.relative)'); }
p.relative(from, to);
bench.start(); bench.start();
for (var i = 0; i < n; i++) { for (i = 0; i < n; i++) {
p.relative(from, to); p.relative(from, to);
} }
bench.end(n); bench.end(n);

7
benchmark/path/resolve-posix.js

@ -1,7 +1,6 @@
'use strict'; 'use strict';
var common = require('../common.js'); var common = require('../common.js');
var path = require('path'); var path = require('path');
var v8 = require('v8');
var bench = common.createBenchmark(main, { var bench = common.createBenchmark(main, {
paths: [ paths: [
@ -18,12 +17,6 @@ function main(conf) {
var p = path.posix; var p = path.posix;
var args = ('' + conf.paths).split('|'); var args = ('' + conf.paths).split('|');
// Force optimization before starting the benchmark
p.resolve.apply(null, args);
v8.setFlagsFromString('--allow_natives_syntax');
eval('%OptimizeFunctionOnNextCall(p.resolve)');
p.resolve.apply(null, args);
bench.start(); bench.start();
for (var i = 0; i < n; i++) { for (var i = 0; i < n; i++) {
p.resolve.apply(null, args); p.resolve.apply(null, args);

7
benchmark/path/resolve-win32.js

@ -1,7 +1,6 @@
'use strict'; 'use strict';
var common = require('../common.js'); var common = require('../common.js');
var path = require('path'); var path = require('path');
var v8 = require('v8');
var bench = common.createBenchmark(main, { var bench = common.createBenchmark(main, {
paths: [ paths: [
@ -18,12 +17,6 @@ function main(conf) {
var p = path.win32; var p = path.win32;
var args = ('' + conf.paths).split('|'); var args = ('' + conf.paths).split('|');
// Force optimization before starting the benchmark
p.resolve.apply(null, args);
v8.setFlagsFromString('--allow_natives_syntax');
eval('%OptimizeFunctionOnNextCall(p.resolve)');
p.resolve.apply(null, args);
bench.start(); bench.start();
for (var i = 0; i < n; i++) { for (var i = 0; i < n; i++) {
p.resolve.apply(null, args); p.resolve.apply(null, args);

Loading…
Cancel
Save