Toggle navigation
MeasureThat.net
Create a benchmark
Tools
Feedback
FAQ
Register
Log In
Run results for:
Check regex vs substring
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/126.0.0.0 Safari/537.36
Browser:
Chrome 126
Operating system:
Mac OS X 10.15.7
Device Platform:
Desktop
Date tested:
one year ago
Test name
Executions per second
regex current
644136.8 Ops/sec
subString
2239668.2 Ops/sec
split
583426.5 Ops/sec
regex complex
646120.5 Ops/sec
Script Preparation code:
var IDS = ["report_1", "report_1", "report_1", "report_1","report_1","report_1","report_1","report_1","report_1", "report_dsdsdssds_1", "report_dsdsdsds_1", "report_1", "report_1","report_1","report_1","report_1","report_1","report_1", "report_random_bla_foo_12321312", "report_random_bla_foo_12321312","report_random_bla_foo_12321312","report_random_bla_foo_12321312","report_random_bla_foo_12321312","report_random_bla_foo_12321312","report_random_bla_foo_12321312","report_random_bla_foo_12321312"];
Tests:
regex current
function getCollectionKey(key) { if (!key) { return ''; } return key.replace(/_\w+/g, '_'); } IDS.forEach((id) => getCollectionKey(id));
subString
function getCollectionKey(key) { if (!key) { return ''; } const lastUnderscoreIndex = key.lastIndexOf('_'); if (lastUnderscoreIndex === -1) { return key; } return key.substring(0, lastUnderscoreIndex); } IDS.forEach((id) => getCollectionKey(id));
split
function getCollectionKey(key) { if (!key) { return ''; } const segments = key.split('_'); if (segments.length > 1) { // Remove the last segment if it's a number or string (implies _foo_123 or _bar_) segments.pop(); } // Join the remaining segments back together with underscores return segments.join('_') + (key.endsWith('_') ? '_' : ''); } IDS.forEach((id) => getCollectionKey(id));
regex complex
function getCollectionKey(key) { if (!key) { return ''; } return key.replace(/_[^_]*$/, '_'); } IDS.forEach((id) => getCollectionKey(id));