array-copy (v6)

Revision 6 of this benchmark created by massic80 on


Setup

a = [];
  for (var i = 0; i < 10000; i++) {
    a.push(i);
  }
  b = null;

Teardown



            var blen = b.length-1;
  for (var i = 0; i < 10000; i++)
    if ((b[i] != i) && (b[blen-i]!= i)) throw "erro";
        
  

Test runner

Ready to run.

Testing in
TestOps/sec
slicing
b = a.slice(0);
ready
join and split
b = a.join('@@@').split('@@@');
ready
forEach
b = [];
a.forEach(function(cur) {
  b.push(cur);
});
ready
for in
b = [];
for (var cur in a)
  b.push(a[cur]);
ready
concat
b = a.concat();
ready
for verbose
var len = a.length;
b = new Array(len);
for (var i = 0; i < len; i++)
  b[i] = a[i];
ready
while loop
var len = a.length;
b = new Array(len);
while (len--)
  b[len] = a[len];
ready
for verbose + push
var len = a.length;
b = new Array();
for (var i = 0; i < len; i++)
  b.push(a[i]);
ready
while loop push (inverts positions)
var len = a.length;
b = new Array();
while (len--)
  b.push(a[len]);
ready

Revisions

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

  • Revision 1: published by Felipe N Moura on
  • Revision 2: published by Daniel Martins on
  • Revision 3: published by Eduardo Bohrer on
  • Revision 4: published by Felipe N. Moura on
  • Revision 5: published on
  • Revision 6: published by massic80 on
  • Revision 7: published by Felipe N Moura on
  • Revision 8: published on
  • Revision 9: published on