11cb0ef41Sopenharmony_ci'use strict'; 21cb0ef41Sopenharmony_ciconst common = require('../common.js'); 31cb0ef41Sopenharmony_ciconst { win32 } = require('path'); 41cb0ef41Sopenharmony_ci 51cb0ef41Sopenharmony_ciconst bench = common.createBenchmark(main, { 61cb0ef41Sopenharmony_ci paths: [ 71cb0ef41Sopenharmony_ci ['C:\\foo', 'bar', '', 'baz\\asdf', 'quux', '..'].join('|'), 81cb0ef41Sopenharmony_ci ], 91cb0ef41Sopenharmony_ci n: [1e5], 101cb0ef41Sopenharmony_ci}); 111cb0ef41Sopenharmony_ci 121cb0ef41Sopenharmony_cifunction main({ n, paths }) { 131cb0ef41Sopenharmony_ci const args = paths.split('|'); 141cb0ef41Sopenharmony_ci const copy = [...args]; 151cb0ef41Sopenharmony_ci const orig = copy[1]; 161cb0ef41Sopenharmony_ci 171cb0ef41Sopenharmony_ci bench.start(); 181cb0ef41Sopenharmony_ci for (let i = 0; i < n; i++) { 191cb0ef41Sopenharmony_ci if (i % 3 === 0) { 201cb0ef41Sopenharmony_ci copy[1] = `${orig}${i}`; 211cb0ef41Sopenharmony_ci win32.join(...copy); 221cb0ef41Sopenharmony_ci } else { 231cb0ef41Sopenharmony_ci win32.join(...args); 241cb0ef41Sopenharmony_ci } 251cb0ef41Sopenharmony_ci } 261cb0ef41Sopenharmony_ci bench.end(n); 271cb0ef41Sopenharmony_ci} 28