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
Checking the performance cost of using a regexp instead of String#indexOf.
var r;
var reContains = /(?:^| )foo(?: |$)/;
function dynamicRegExp(className) {
return RegExp('(?:^| )foo(?: |$)').test(className);
}
function inlineRegExp(className) {
return /(?:^| )foo(?: |$)/.test(className);
}
function storedRegExp(className) {
return reContains.test(className);
}
function stringIndexOf(className) {
return (' ' + className + ' ').indexOf(' foo ') > -1;
}
function stringIndexOf2(className) {
var i = className.indexOf('foo');
return (i != -1) && (i == 0 || className.charAt(i - 1) == ' ') && (i == className.length - 3 || className.charAt(i + 3) == ' ');
}Ready to run.
| Test | Ops/sec | |
|---|---|---|
| dynamic regexp | | ready |
| inline regexp | | ready |
| stored regexp | | ready |
| string indexOf | | ready |
| string indexOf 2 | | ready |
You can edit these tests or add more tests to this page by appending /edit to the URL.