jsPerf.app is an online JavaScript performance benchmark test runner & jsperf.com mirror. It is a complete rewrite in homage to the once excellent jsperf.com now with hopefully a more modern & maintainable codebase.
jsperf.com URLs are mirrored at the same path, e.g:
https://jsperf.com/negative-modulo/2
Can be accessed at:
https://jsperf.app/negative-modulo/2
fastest starts-with string match
// Methods
function startsWithSlice(str, substr) {
return str.slice(0, substr.length) === substr;
}
function escapeRegExp(str) {
return str.replace(/([.*+?^=!:${}()|\[\]\/\\])/g, '\\$1');
}
function startsWithRe(str, substr) {
return RegExp('^' + escapeRegExp(substr)).test(str);
}
function startsWithReLiteral(str, substrRe) {
return substrRe.test(str);
}
function startsWithCharAt(str, substr) {
var len = substr.length;
var i = 0;
for (/*i = 0*/; i < len; i += 1) {
if (str.charAt(i) !== substr.charAt(i)) {
return false;
}
}
return true;
}
// Example data
var arr = [];
var str = "abcdefghijklmnopqrstuvwxyz zyxwvutsrqponmlkjihgfedcba abdef abc";
var i;
for (i = 0; i < 10; i++) {
arr.push(str.charAt(i % 26) + str);
}
Ready to run.
Test | Ops/sec | |
---|---|---|
slice |
| ready |
regex automatic |
| ready |
regex literal |
| ready |
charAt loop |
| ready |
You can edit these tests or add more tests to this page by appending /edit to the URL.