diff options
Diffstat (limited to 'benchmark/path/join-posix.js')
-rw-r--r-- | benchmark/path/join-posix.js | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/benchmark/path/join-posix.js b/benchmark/path/join-posix.js new file mode 100644 index 0000000000..4b8bb924a2 --- /dev/null +++ b/benchmark/path/join-posix.js @@ -0,0 +1,28 @@ +var common = require('../common.js'); +var path = require('path'); +var v8 = require('v8'); + +var bench = common.createBenchmark(main, { + paths: [ + ['/foo', 'bar', '', 'baz/asdf', 'quux', '..'].join('|') + ], + n: [1e6] +}); + +function main(conf) { + var n = +conf.n; + var p = path.posix; + 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(); + for (var i = 0; i < n; i++) { + p.join.apply(null, args); + } + bench.end(n); +} |