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
Check performance of ===
against ==
. This test actually tests adding numbers and strings and assigning them to variables. Testing equality is orders of magnitude faster than the results of this test. The latest version includes actual numbers and strings being added, to avoid the whole thing being optimised away by some compilers. To properly test equality, see a different jsperf or remove the assignments from this one.
Notes: Fixed randomInt to return an Int rather than String. Changed Math.round to "|0" to give a stronger hint to the compiler to use Int rather than Float.
<script>
var i1;
var i2;
var s1;
var s2;
function randomInt() {
var ret = (Math.random() * 1E9) | 0;
return ret;
}
function randomIntStr() {
var ret = (Math.random() * 1E9) | 0;
ret += "";
return ret;
}
function randomBool() {
var ret = (Math.random() * 1E9) | 0;
ret = ((ret & 1) === 1);
return ret;
}
</script>
Ready to run.
Test | Ops/sec | |
---|---|---|
===(int) |
| ready |
==(int) |
| ready |
==(string) |
| ready |
===(string) |
| ready |
=== (different type) |
| ready |
== (different type) |
| ready |
=== (bool) |
| ready |
== (bool) |
| ready |
You can edit these tests or add more tests to this page by appending /edit to the URL.