Script Preparation code:
x
 
var input = "`ABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJ`";
var input2 = `
'sdsdsds'
'ssdsdsdsd''''
dskfkjlsdfsd
dfdsfdsfdsfds"dfsdf
'"""""fdsfds'
dsfdsfjhlfsdf
--dfsdf-sfds
sdfdsf
dfdsf Select1;
dfdsfds
ddfdf
""""dfdf"""""
'''dfdfd''''dfd''ddd''''ff  fffgfg 'fgfg  'fgf''
`;
var REGEX_01 = /^((['])((?:\\.|[^'])+?)(')|(['])(.*)('))/;
var REGEX_02 = /^((['])((?:\\.+?|[^'])+?)(')|(?:['])(?:.*)('))/;
var REGEX_03 = /^((['])((\\.+|[^']))(['])|(['])(.*)([']))/;
var REGEX_ALL = /^((['])((?:\\.|[^'])+?)(')|(['])(.*)(')|(["])((?:\\.|[^"])+?)(")|([`])((?:\\.|[^`])+?)(`))/;
var REGEX_ALL_OPTIMIZED = /^((['])((\\.+|[^']))(['])|(['])(.*)(['])|(["])((?:\\.|[^"])+?)(")|([`])((?:\\.|[^`])+?)(`))/;
function run01(inString) {
    return REGEX_01.exec(inString);
}
function run02(inString) {
    return REGEX_02.exec(inString);
}
function run03(inString) {
    return REGEX_03.exec(inString);
}
function runAllOrigin(inString) {
    return REGEX_ALL.exec(inString);
}
function runAllOptimized(inString) {
    return REGEX_ALL_OPTIMIZED.exec(inString);
}
Tests:
  • Origin [easy input]

     
     run01(input);
  • Optimized 2 with lazy [easy input]

     
    run02(input);
  • Origin [hard input]

     
    run01(input2);
  • Optimized 2 with lazy [hard input]

     
    run02(input2);
  • Optimized 3 [easy input]

     
    run03(input);
  • Optimized 3 [hard input]

     
    run03(input2);
  • runAllOrigin [easy input]

     
    runAllOrigin(input);
  • runAllOrigin [hard input]

     
    runAllOrigin(input2);
  • runAll Oprimized [easy input]

     
    runAllOptimized(input);
  • runAll Oprimized [hard input]

     
    runAllOptimized(input2);
Rendered benchmark preparation results:

Suite status: <idle, ready to run>

Previous results

Experimental features:

  • Test case name Result
    Origin [easy input]
    Optimized 2 with lazy [easy input]
    Origin [hard input]
    Optimized 2 with lazy [hard input]
    Optimized 3 [easy input]
    Optimized 3 [hard input]
    runAllOrigin [easy input]
    runAllOrigin [hard input]
    runAll Oprimized [easy input]
    runAll Oprimized [hard input]

    Fastest: N/A

    Slowest: N/A

Latest run results:
Run details: (Test run date: 3 years ago)
Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.69 Safari/537.36
Chrome 95 on Linux
View result in a separate tab
Test name Executions per second
Origin [easy input] 2455484.0 Ops/sec
Optimized 2 with lazy [easy input] 2631240.5 Ops/sec
Origin [hard input] 2439592.2 Ops/sec
Optimized 2 with lazy [hard input] 3037293.5 Ops/sec
Optimized 3 [easy input] 2368078.8 Ops/sec
Optimized 3 [hard input] 2601504.2 Ops/sec
runAllOrigin [easy input] 123640.8 Ops/sec
runAllOrigin [hard input] 3859161.5 Ops/sec
runAll Oprimized [easy input] 138740.6 Ops/sec
runAll Oprimized [hard input] 4053514.8 Ops/sec