filter versus dictionary

JavaScript performance comparison

Test case created by Travis

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 ages = array.map(function(obj) { return obj.age; });
ages = ages.filter(function(v,i) { return ages.indexOf(v) == i; });
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