Toggle navigation
MeasureThat.net
Create a benchmark
Tools
Feedback
FAQ
Register
Log In
Run results for:
substring 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
substring + extra obj
4483415.0 Ops/sec
substring simple
2136983.2 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:
substring + extra obj
function splitCollectionMemberKey(key) { const underscoreIndex = key.indexOf('_'); if (underscoreIndex === -1) { throw new Error(`Invalid ${key} key provided, only collection keys are allowed.`); } return [key.substring(0, underscoreIndex + 1), key.substring(underscoreIndex + 1)]; } IDS.forEach((id) => splitCollectionMemberKey(id));
substring simple
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));