filter versus dictionary

JavaScript performance comparison

Revision 7 of this test case created

Preparation code

 
<script>
Benchmark.prototype.setup = function() {
    var array = [{
      "name": "Joe",
      "age": 17
    }, {
      "name": "Bob",
      "age": 17
    }, {
      "name": "Carl",
      "age": 35
    }];
};
</script>

Test runner

Warning! For accurate results, please disable Firebug before running the tests. (Why?)

Java applet disabled.

Testing in unknown unknown
Test Ops/sec
map
var lookup = {};
var items = array;
var result = [];

for (var item, i = 0; item = items[i++];) {
  var name = item.age;

  if (!(name in lookup)) {
    lookup[name] = 1;
    result.push(name);
  }
}
pending…
dictionary
var unique = {};
var distinct = [];
for (var i in array) {
  if (typeof(unique[array[i].age]) == "undefined") {
    distinct.push(array[i].age);
  }
  unique[array[i].age] = 0;
}
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:

0 comments

Add a comment