1'use strict'; 2const common = require('../common.js'); 3const { posix } = require('path'); 4 5const bench = common.createBenchmark(main, { 6 paths: [ 7 ['/data/orandea/test/aaa', '/data/orandea/impl/bbb'].join('|'), 8 ['/', '/var'].join('|'), 9 ['/', '/'].join('|'), 10 ['/var', '/bin'].join('|'), 11 ['/foo/bar/baz/quux', '/'].join('|'), 12 ['/foo/bar/baz/quux', '/foo/bar/baz/quux'].join('|'), 13 ['/foo/bar/baz/quux', '/var/log'].join('|'), 14 ], 15 n: [1e5], 16}); 17 18function main({ n, paths }) { 19 let to = ''; 20 const delimIdx = paths.indexOf('|'); 21 if (delimIdx > -1) { 22 to = paths.slice(delimIdx + 1); 23 paths = paths.slice(0, delimIdx); 24 } 25 26 bench.start(); 27 for (let i = 0; i < n; i++) { 28 if (i % 3 === 0) 29 posix.relative(`${paths}${i}`, `${to}${i}`); 30 else 31 posix.relative(paths, to); 32 } 33 bench.end(n); 34} 35