ck

Benchmark created on


Preparation HTML

<script type="text/javascript" src="http://dl.dropbox.com/u/4979478/underscore.js"></script>

<a href="#" onclick="wr();">666666666666</a>
<div id="a"></div>

<script src="//ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>

 
<script>
  input =
      [{name:'My Name',classes:{a:10,b:4,c:0}},
       {name:'Someboy Else',classes:{d:7,e:1,f:1}},
       {name:'I am',classes:{a:6,d:2}},
       {name:'Making Up',classes:{}},
       {name:'These Names',classes:{a:4,b:6,c:2,d:7,e:9,f:10}},
       {name:'They Are',classes:{f:2,e:5,a:6}},
       {name:'Not Real',classes:{b:7,a:2,d:7}},
       {name:'People As',classes:{f:9,e:9,a:1}},
       {name:'Far As',classes:{a:10,d:6}},
       {name:'I know',classes:{c:2,h:4}},
      ]
  
</script>

Test runner

Ready to run.

Testing in
TestOps/sec
1
var classes = {};
_(input).each(
    function(student) { 
        _.each( _.keys(student.classes), 
            function(c) { (classes[c]||(classes[c]=[])).push(student.name); }
        )
    }
);
ready
2
var classes = _(input).chain()
    .map(function(name) { return _.keys(name.classes) })
    .flatten()
    .uniq()
    .value();
ready

Revisions

You can edit these tests or add more tests to this page by appending /edit to the URL.