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
<script>
var f1 = function() {
return [].slice.call(arguments);
};
var f2 = function() {
return Array.prototype.slice.call(arguments);
};
var f3 = function() {
var args = [];
for (var i = 0, l = arguments.length; i < l; i++) {
args.push(arguments[i]);
}
return args;
};
var f4 = function() {
var args = [];
for (var i = 0, l = arguments.length; i < l; i++) {
args[i] = arguments[i];
}
return args;
};
var f5 = function() {
var args = new Array(arguments.length);
for (var i = 0, l = arguments.length; i < l; i++) {
args[i] = arguments[i];
}
return args;
};
var f6 = function() {
var args = [];
args.length = arguments.length;
for (var i = 0, l = arguments.length; i < l; i++) {
args.push(arguments[i]);
}
return args;
};
var f7 = function() {
var args = [];
args.length = arguments.length;
for (var i = 0, l = arguments.length; i < l; i++) {
args[i] = arguments[i];
}
return args;
};
var f8 = function() {
var args = [];
args.length = arguments.length;
for (var i = 0, l = arguments.length; i ^ l; ++i) {
args[i] = arguments[i];
}
return args;
};
var f9 = function() {
var args = new Array(arguments.length);
for (var i = 0, l = arguments.length; i ^ l; ++i) {
args[i] = arguments[i];
}
return args;
};
</script>
Ready to run.
Test | Ops/sec | |
---|---|---|
f1 |
| ready |
f2 |
| ready |
f3 |
| ready |
f4 |
| ready |
f5 |
| ready |
f6 |
| ready |
f7 |
| ready |
f8 |
| ready |
f9 |
| ready |
You can edit these tests or add more tests to this page by appending /edit to the URL.