Script Preparation code:
AخA
 
const pathMap = new Map()
pathMap.set('test', 'site/app')
pathMap.set('vendor', 'site/vendor')
window.pathMap = pathMap
window.testId = 'test/lib/alpaca/js/alpaca'
Tests:
  • path part splitting and joining

    x
     
    const pathMap = window.pathMap
    const parts = window.testId.split('/')
    let modified
    for (let { length } = parts; length > 0; --length) {
      const parent = parts.slice(0, length).join('/')
      const path = pathMap.get(parent)
      if (path) {
        parts.splice(0, length, path)
        modified = true
        break
      }
    }
    const mapped = parts.join('/')
  • looking up path separators

     
    const pathMap = window.pathMap
    let mapped = window.testId
    for (let separator = mapped.length;;) {
      const parent = mapped.substr(0, separator)
      const path = pathMap.get(parent)
      if (path) {
        mapped = `${path}${mapped.substr(separator)}`
        break
      }
      separator = mapped.lastIndexOf('/', separator - 1)
      if (separator < 0) break
    }
Rendered benchmark preparation results:

Suite status: <idle, ready to run>

Previous results

Experimental features:

  • Test case name Result
    path part splitting and joining
    looking up path separators

    Fastest: N/A

    Slowest: N/A

Latest run results:
Run details: (Test run date: 4 years ago)
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4270.0 Safari/537.36
Chrome 87 on Mac OS X 10.14.6
View result in a separate tab
Test name Executions per second
path part splitting and joining 583397.5 Ops/sec
looking up path separators 1391124.4 Ops/sec