Script Preparation code:
x
 
var cache = {}
const regexps = [
  /^((?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?))*$/,
  /^(?:4[0-9]{12}(?:[0-9]{3})?|5[1-5][0-9]{14}|6011[0-9]{12}|622((12[6-9]|1[3-9][0-9])|([2-8][0-9][0-9])|(9(([0-1][0-9])|(2[0-5]))))[0-9]{10}|64[4-9][0-9]{13}|65[0-9]{14}|3(?:0[0-5]|[68][0-9])[0-9]{11}|3[47][0-9]{13})*$/,
  /[^@/]+@[^@/]+/,
  /\\s+/,
  /[^a-zA-Z0-9]/,
  /^$/,
  /^[1-9]+[0-9]*$/,
  /(^\d*\.?\d*[0-9]+\d*$)|(^[0-9]+\d*\.\d*$)/,
  /^-?[0-9]{0,2}(\.[0-9]{1,2})?$|^-?(100)(\.[0]{1,2})?$/,
]
const sources = regexps.map(r => r.source)
regexps.forEach(r => {
  cache[r.source] = r
})
const n = sources.length
const floor = Math.floor
const random = Math.random
function getRandomSource () {
  return sources[floor(random() * n)]
}
Tests:
  • constructor

     
    window.result = new RegExp(getRandomSource())
  • memoize

     
    window.result = cache[getRandomSource()]
  • common boilerplate

     
    window.result = getRandomSource()
Rendered benchmark preparation results:

Suite status: <idle, ready to run>

Previous results

Experimental features:

  • Test case name Result
    constructor
    memoize
    common boilerplate

    Fastest: N/A

    Slowest: N/A

Latest run results:
Run details: (Test run date: 2 years ago)
Mozilla/5.0 (Linux; Android 13; SM-G780G) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Mobile Safari/537.36 EdgA/108.0.1462.54
Chrome Mobile 108 on Android
View result in a separate tab
Test name Executions per second
constructor 799634.8 Ops/sec
memoize 1355083.5 Ops/sec
common boilerplate 1731009.5 Ops/sec