find element in obj vs array
JavaScript performance comparison
Info
Looking for elements at the very start of the array gives a false impression, see how the picture changes if they elements are at the end of the array.
But how long does it take to build and object lookup table?
Preparation code
<script>
Benchmark.prototype.setup = function() {
var obj = {},
arr = [],
count = 0;
for (var i = 0; i < 1000; i++) {
arr.push(i);
obj[i] = 1;
}
function in_array(needle, haystack) {
for (var i = 0, maxi = haystack.length; i < maxi; ++i) {
if (haystack[i] == needle) {
return true;
}
}
return false;
}
function include(needle, haystack) {
return (haystack.indexOf(needle) != -1);
}
};
</script>
Test runner
Warning! For accurate results, please disable Firebug before running the tests. (Why?)
Java applet disabled.
| Test | Ops/sec | |
|---|---|---|
find in array (1) |
|
pending… |
find in array (500) |
|
pending… |
find in array (999) |
|
pending… |
find in obj (1) |
|
pending… |
find in obj (500) |
|
pending… |
find in obj (999) |
|
pending… |
indexOf in arr(1) |
|
pending… |
indexOf in arr(500) |
|
pending… |
indexOf in arr(999) |
|
pending… |
build lookup index |
|
pending… |
Compare results of other browsers
Revisions
You can edit these tests or add even more tests to this page by appending /edit to the URL. Here’s a list of current revisions for this page:
- Revision 1: published
- Revision 2: published
- Revision 3: published
- Revision 4: published by Rob Edgar
0 comments