2016-02-19 17:03:16 -08:00
|
|
|
'use strict';
|
2017-09-13 22:48:53 -03:00
|
|
|
const common = require('../common.js');
|
2017-12-30 03:57:01 +01:00
|
|
|
const { win32 } = require('path');
|
2015-06-05 20:43:48 -04:00
|
|
|
|
2017-09-13 22:48:53 -03:00
|
|
|
const bench = common.createBenchmark(main, {
|
2016-02-05 22:23:29 -05:00
|
|
|
paths: [
|
2019-02-04 22:06:08 -08:00
|
|
|
['C:\\foo', 'bar', '', 'baz\\asdf', 'quux', '..'].join('|'),
|
2016-02-05 22:23:29 -05:00
|
|
|
],
|
2023-02-14 18:09:42 +01:00
|
|
|
n: [1e5],
|
2015-06-05 20:43:48 -04:00
|
|
|
});
|
|
|
|
|
2017-12-30 03:57:01 +01:00
|
|
|
function main({ n, paths }) {
|
|
|
|
const args = paths.split('|');
|
2018-12-30 00:26:36 +01:00
|
|
|
const copy = [...args];
|
|
|
|
const orig = copy[1];
|
2015-06-05 20:43:48 -04:00
|
|
|
|
|
|
|
bench.start();
|
2019-07-31 08:26:38 -05:00
|
|
|
for (let i = 0; i < n; i++) {
|
2018-12-30 00:26:36 +01:00
|
|
|
if (i % 3 === 0) {
|
|
|
|
copy[1] = `${orig}${i}`;
|
|
|
|
win32.join(...copy);
|
|
|
|
} else {
|
|
|
|
win32.join(...args);
|
|
|
|
}
|
2015-06-05 20:43:48 -04:00
|
|
|
}
|
|
|
|
bench.end(n);
|
|
|
|
}
|