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
var fibNomal = function fib(x) {
if (x < 3) return 1;
return fib(x - 2) + fib(x - 1);
};
var fibAsmjs = (function () {
'use asm';
function fib(x) {
x = x | 0;
if ((x | 0) < 3) return 1;
return ((fib((x - 2) | 0) | 0) + (fib((x - 1) | 0) | 0)) | 0;
}
return fib;
})();
var fibAsmjsLess = (function () {
'use asm';
function fib(x) {
x = x | 0;
if (x < 3) return 1;
return ((fib((x - 2) | 0) | 0) + (fib((x - 1) | 0) | 0)) | 0;
}
return fib;
})();
var fibAsmjsDirect = function (x) {
'use asm';
x = x | 0;
if ((x | 0) < 3) return 1;
return ((fibAsmjsDirect((x - 2) | 0) | 0) + (fibAsmjsDirect((x - 1) | 0) | 0)) | 0;
};
var fibAsmjsMore = (function () {
'use asm';
function fib(x) {
x = x | 0;
if ((x | 0) < (3 | 0)) return 1 | 0;
return ((fib(((x | 0) - (2 | 0)) | 0) | 0) + (fib(((x | 0) - (1 | 0)) | 0) | 0)) | 0;
}
return fib;
})();Ready to run.
| Test | Ops/sec | |
|---|---|---|
| fib nomal | | ready |
| fib asm.js | | ready |
| fib asm.js less | | ready |
| fib asm.js direct | | ready |
| fib asm.js more | | ready |
You can edit these tests or add more tests to this page by appending /edit to the URL.