Toggle navigation
MeasureThat
.net
Create a benchmark
Tools
Feedback
FAQ
Register
Log In
Run results for:
Trimming leading/trailing characters
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/129.0.0.0 Safari/537.36 Edg/129.0.0.0
Browser:
Chrome 129
Operating system:
Mac OS X 10.15.7
Device Platform:
Desktop
Date tested:
one year ago
Index Version (Jason Larke)
515K/s
Substring Version (Pho3niX83)
187K/s
Boolean Filter Version (mbaer3000)
97K/s
Regex Version (leaf)
82K/s
Spread Version (Robin F.)
4K/s
View exact numbers
Test name
Executions per second
✓
Index Version (Jason Larke)
514,873 Ops/sec
Substring Version (Pho3niX83)
186,676 Ops/sec
Boolean Filter Version (mbaer3000)
97,266 Ops/sec
Regex Version (leaf)
82,378 Ops/sec
Spread Version (Robin F.)
3,841 Ops/sec
Script Preparation code:
var TestString = '+'.repeat(200) + '='.repeat(20000) + '+'.repeat(200); var regexTrim = function(str, ch) { if (ch === ']') ch = '\\]'; else if (ch === '^') ch = '\\^'; else if (ch === '\\') ch = '\\\\'; return str.replace(new RegExp('^[' + ch + ']+|[' + ch + ']+$', 'g'), ''); }; function indexTrim(str, ch) { var start = 0, end = str.length; while(start < end && str[start] === ch) ++start; while(end > start && str[end - 1] === ch) --end; return (start > 0 || end < str.length) ? str.substring(start, end) : str; } function booleanTrim(str, ch) { return str.split(ch).filter(Boolean).join(ch); } function spreadTrim(str, ch) { const first = [...str].findIndex(char => char !== ch); const last = [...str].reverse().findIndex(char => char !== ch); return str.substring(first, str.length - last); } function substringTrim(str, ch) { while(str.charAt(0)==ch) { str = str.substring(1); } while(str.charAt(str.length-1)==ch) { str = str.substring(0,str.length-1); } return str; }
Tests:
Index Version (Jason Larke)
indexTrim(TestString, '+');
Regex Version (leaf)
regexTrim(TestString, '+')
Boolean Filter Version (mbaer3000)
booleanTrim(TestString, '+')
Spread Version (Robin F.)
spreadTrim(TestString, '+')
Substring Version (Pho3niX83)
substringTrim(TestString, '+')