Toggle navigation
MeasureThat
.net
Create a benchmark
Tools
Feedback
FAQ
Register
Log In
Run results for:
Unnecessary non-capturing groups
https://stackoverflow.com/questions/45291700/javascript-regex-non-capture-faster-than-no-parenthesis-at-all
Go to the benchmark
Embed
Embed Benchmark Result
Run details:
User agent:
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36
Browser:
Chrome 136
Operating system:
Mac OS X 10.15.7
Device Platform:
Desktop
Date tested:
one year ago
indexOf
215.6M/s
anotherUnneededNonCapture
12.7M/s
unneededNonCaptureRE
7.1M/s
noNonCaptureRE
7.0M/s
anotherNoNonCapture
5.8M/s
View exact numbers
Test name
Executions per second
✓
indexOf
215,629,744 Ops/sec
anotherUnneededNonCapture
12,675,217 Ops/sec
unneededNonCaptureRE
7,059,473 Ops/sec
noNonCaptureRE
7,018,906 Ops/sec
anotherNoNonCapture
5,793,600 Ops/sec
Script Preparation code:
var loremString = "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum." var unneededNonCaptureRE = /(?:z)+/ var noNonCaptureRE = /z+/ var anotherUnneededNonCapture = /lab(?:o)rum/ var anotherNoNonCapture = /laborum/
Tests:
unneededNonCaptureRE
unneededNonCaptureRE.exec(loremString)
noNonCaptureRE
noNonCaptureRE.exec(loremString)
anotherUnneededNonCapture
anotherUnneededNonCapture.exec(loremString)
anotherNoNonCapture
anotherNoNonCapture.exec(loremString)
indexOf
loremString.indexOf('laborum')