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 src="http://code.jquery.com/jquery-1.10.1.min.js">
</script>
var array_list = ['this is a string', 'this is not a string', 'here is my string', 'here is not my string', 'hello world', 'not hello world', 'blah', 'blah blah blah', 'this is not some blah', 'here is some more blah', 'would you like some blah?', 'no i would not like some blah.', 'thanks', 'ok', 'random strings'];
array_list.sort();
function custom_search(arr, val) {
for (var i = 0, len = arr.length; i < len; i++) {
if (arr[i] == val) return i;
}
return -1;
}
function custom_search_v2(arr, val) {
var i = arr.length;
while(i--) {
if (arr[i] == val) return i;
}
return -1;
}
function binarySearch(a, value) {
lo = 0;
hi = a.length - 1;
while (lo <= hi) {
var mid = Math.floor((lo+hi)/2);
if (a[mid] > value)
hi = mid - 1;
else if (a[mid] < value)
lo = mid + 1;
else
return mid;
}
return -1;
}
Ready to run.
Test | Ops/sec | |
---|---|---|
indexOf first |
| ready |
indexOf last |
| ready |
$.inArray first |
| ready |
$.inArray last |
| ready |
custom first |
| ready |
custom last |
| ready |
binary first |
| ready |
binary last |
| ready |
custom first v2 |
| ready |
custom last v1 |
| ready |
You can edit these tests or add more tests to this page by appending /edit to the URL.