current/benchmark/path/relative-posix.js
'use strict';
const common = require('../common.js');
const { posix } = require('path');
const bench = common.createBenchmark(main, {
paths: [
['/data/orandea/test/aaa', '/data/orandea/impl/bbb'].join('|'),
['/', '/var'].join('|'),
['/', '/'].join('|'),
['/var', '/bin'].join('|'),
['/foo/bar/baz/quux', '/'].join('|'),
['/foo/bar/baz/quux', '/foo/bar/baz/quux'].join('|'),
['/foo/bar/baz/quux', '/var/log'].join('|'),
],
n: [1e5]
});
function main({ n, paths }) {
let to = '';
const delimIdx = paths.indexOf('|');
if (delimIdx > -1) {
to = paths.slice(delimIdx + 1);
paths = paths.slice(0, delimIdx);
}
bench.start();
for (let i = 0; i < n; i++) {
if (i % 3 === 0)
posix.relative(`${paths}${i}`, `${to}${i}`);
else
posix.relative(paths, to);
}
bench.end(n);
}