mirror of https://github.com/lukechilds/node.git
Browse Source
Path functions being benchmarked are: * format * isAbsolute * join * normalize * relative * resolve PR-URL: https://github.com/nodejs/io.js/pull/1778 Reviewed-By: Сковорода Никита Андреевич <chalkerx@gmail.com> Reviewed-By: Roman Reiss <me@silverwind.io>v4.0.0-rc
Nathan Woltman
10 years ago
committed by
Roman Reiss
6 changed files with 138 additions and 0 deletions
@ -0,0 +1,31 @@ |
|||
var common = require('../common.js'); |
|||
var path = require('path'); |
|||
|
|||
var bench = common.createBenchmark(main, { |
|||
type: ['win32', 'posix'], |
|||
n: [1e7], |
|||
}); |
|||
|
|||
function main(conf) { |
|||
var n = +conf.n; |
|||
var p = path[conf.type]; |
|||
var test = conf.type === 'win32' ? { |
|||
root: 'C:\\', |
|||
dir: 'C:\\path\\dir', |
|||
base: 'index.html', |
|||
ext: '.html', |
|||
name: 'index' |
|||
} : { |
|||
root : '/', |
|||
dir : '/home/user/dir', |
|||
base : 'index.html', |
|||
ext : '.html', |
|||
name : 'index' |
|||
}; |
|||
|
|||
bench.start(); |
|||
for (var i = 0; i < n; i++) { |
|||
p.format(test); |
|||
} |
|||
bench.end(n); |
|||
} |
@ -0,0 +1,27 @@ |
|||
var common = require('../common.js'); |
|||
var path = require('path'); |
|||
|
|||
var bench = common.createBenchmark(main, { |
|||
type: ['win32', 'posix'], |
|||
n: [1e6], |
|||
}); |
|||
|
|||
function main(conf) { |
|||
var n = +conf.n; |
|||
var p = path[conf.type]; |
|||
var tests = conf.type === 'win32' |
|||
? ['//server', 'C:\\baz\\..', 'bar\\baz', '.'] |
|||
: ['/foo/bar', '/baz/..', 'bar/baz', '.']; |
|||
|
|||
bench.start(); |
|||
for (var i = 0; i < n; i++) { |
|||
runTests(p, tests); |
|||
} |
|||
bench.end(n); |
|||
} |
|||
|
|||
function runTests(p, tests) { |
|||
for (var i = 0; i < tests.length; i++) { |
|||
p.isAbsolute(tests[i]); |
|||
} |
|||
} |
@ -0,0 +1,18 @@ |
|||
var common = require('../common.js'); |
|||
var path = require('path'); |
|||
|
|||
var bench = common.createBenchmark(main, { |
|||
type: ['win32', 'posix'], |
|||
n: [1e6], |
|||
}); |
|||
|
|||
function main(conf) { |
|||
var n = +conf.n; |
|||
var p = path[conf.type]; |
|||
|
|||
bench.start(); |
|||
for (var i = 0; i < n; i++) { |
|||
p.join('/foo', 'bar', '', 'baz/asdf', 'quux', '..'); |
|||
} |
|||
bench.end(n); |
|||
} |
@ -0,0 +1,18 @@ |
|||
var common = require('../common.js'); |
|||
var path = require('path'); |
|||
|
|||
var bench = common.createBenchmark(main, { |
|||
type: ['win32', 'posix'], |
|||
n: [1e6], |
|||
}); |
|||
|
|||
function main(conf) { |
|||
var n = +conf.n; |
|||
var p = path[conf.type]; |
|||
|
|||
bench.start(); |
|||
for (var i = 0; i < n; i++) { |
|||
p.normalize('/foo/bar//baz/asdf/quux/..'); |
|||
} |
|||
bench.end(n); |
|||
} |
@ -0,0 +1,26 @@ |
|||
var common = require('../common.js'); |
|||
var path = require('path'); |
|||
|
|||
var bench = common.createBenchmark(main, { |
|||
type: ['win32', 'posix'], |
|||
n: [1e5], |
|||
}); |
|||
|
|||
function main(conf) { |
|||
var n = +conf.n; |
|||
var runTest = conf.type === 'win32' ? runWin32Test : runPosixTest; |
|||
|
|||
bench.start(); |
|||
for (var i = 0; i < n; i++) { |
|||
runTest(); |
|||
} |
|||
bench.end(n); |
|||
} |
|||
|
|||
function runWin32Test() { |
|||
path.win32.relative('C:\\orandea\\test\\aaa', 'C:\\orandea\\impl\\bbb'); |
|||
} |
|||
|
|||
function runPosixTest() { |
|||
path.posix.relative('/data/orandea/test/aaa', '/data/orandea/impl/bbb'); |
|||
} |
@ -0,0 +1,18 @@ |
|||
var common = require('../common.js'); |
|||
var path = require('path'); |
|||
|
|||
var bench = common.createBenchmark(main, { |
|||
type: ['win32', 'posix'], |
|||
n: [1e6], |
|||
}); |
|||
|
|||
function main(conf) { |
|||
var n = +conf.n; |
|||
var p = path[conf.type]; |
|||
|
|||
bench.start(); |
|||
for (var i = 0; i < n; i++) { |
|||
p.resolve('foo/bar', '/tmp/file/', '..', 'a/../subfile'); |
|||
} |
|||
bench.end(n); |
|||
} |
Loading…
Reference in new issue