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
<div class="gilad"></div>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>
<script src="//www.cinsoft.net/mylib099-min.js"></script>
Function.prototype.bindRaynos = function (context) {
var f = this;
var curriedArgs = Array.prototype.slice.call(arguments, 2);
if (curriedArgs.length) {
return function () {
var allArgs = curriedArgs.slice(0);
for (var i = 0, n = arguments.length; i < n; ++i) {
allArgs.push(arguments[i]);
}
f.apply(context, allArgs);
};
} else {
return createProxy(f, context);
}
};
function createProxy(f, context) {
return function () {
f.apply(context, arguments);
}
}
function raynosBind2 (f, context) {
var curriedArgs = Array.prototype.slice.call(arguments, 2);
if (curriedArgs.length) {
return function () {
var allArgs = curriedArgs.slice(0);
for (var i = 0, n = arguments.length; i < n; ++i) {
allArgs.push(arguments[i]);
}
f.apply(context, allArgs);
};
} else {
return createProxy(f, context);
}
};
var i = { i: 0 };
var f = function (x) {
this.i++;
};
var nativelyBound = f.bind(i);
var raynosBound = f.bindRaynos(i);
var proxied = jQuery.proxy(f, i);
var raynos2 = raynosBind2(f, i);
Ready to run.
Test | Ops/sec | |
---|---|---|
Native version |
| ready |
Raynos's version |
| ready |
$.proxy |
| ready |
2 |
| ready |
You can edit these tests or add more tests to this page by appending /edit to the URL.