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
Testing speed of a standard for loop vs. Array.indexOf.
<script>
function m1(obj, callback, deep) {
var obj_keys = Object.keys(obj),
obj_keys_len = obj_keys.length,
new_obj = {},
value,
key,
i;
for (i = 0; i < obj_keys_len; i += 1) {
key = obj_keys[i];
value = obj[key];
if (deep && (typeof value === 'object' && value != null)) {
new_obj[key] = m1(value, callback, true);
}
else {
new_obj[key] = callback(value);
}
}
return new_obj;
}
function m2(obj, callback, deep) {
var value,
new_obj = {};
Object.keys(obj).map(function (key) {
value = obj[key];
if (deep && (typeof value === 'object' && value != null)) {
new_obj[key] = m2(value, callback, true);
}
else {
new_obj[key] = callback(value);
}
});
return new_obj;
};
</script>
Ready to run.
Test | Ops/sec | |
---|---|---|
For loop === first |
| ready |
For loop in first |
| ready |
You can edit these tests or add more tests to this page by appending /edit to the URL.