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
Forcibly de-tuned the benchmark to make Chrome spit out a marginally representative result.
<script>
var medium = new Array(100).join(" ' "),
large = new Array(1000).join(" ' "),
xtralg = new Array(10000).join(" ' ");
function createSmall() {
return " ' ' ' " + Math.random();
}
function createMedium() {
return medium + Math.random();
}
function createLarge() {
return large + Math.random();
}
function createXtralg() {
return xtralg + Math.random();
}
</script>
/**
* ReplaceAll by Fagner Brack (MIT Licensed)
* Replaces all occurrences of a substring in a string
*/
String.prototype.replaceAll = function( token, newToken, ignoreCase ) {
var _token;
var str = this + "";
var i = -1;
if ( typeof token === "string" ) {
if ( ignoreCase ) {
_token = token;
while( (
i = str.indexOf(
token, i >= 0 ? i + newToken.length : 0
) ) !== -1
) {
str = str.substring( 0, i ) +
newToken +
str.substring( i + token.length );
}
} else {
return this.split( token ).join( newToken );
}
}
return str;
};
Ready to run.
Test | Ops/sec | |
---|---|---|
replaceAll small |
| ready |
replace small |
| ready |
replaceAll medium |
| ready |
replace medium |
| ready |
replaceAll large |
| ready |
replace large |
| ready |
replaceAll xtralg |
| ready |
replace xtralg |
| ready |
You can edit these tests or add more tests to this page by appending /edit to the URL.