Loop vs Slice copy (v12)

Revision 12 of this benchmark created on


Setup

var data = [1, 2, 3, 4, 5, 6, 7, 8, 9, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

Test runner

Ready to run.

Testing in
TestOps/sec
loop copy
var copy = []
for (var j = 0; j < data.length; j++) {
  copy.push(data[j]);
}
ready
splice copy
var copy = data.slice(0);
ready
loop fixed size
var copy = new Array(data.length);
for (var j = 0; j < data.length; j++) {
  copy[j] = data[j];
}
ready
Loop Copy 2
var copy = []
for (var j = 0, l = data.length; j < l; j++) {
  copy.push(data[j]);
}
ready
Loop Fixed Size 2
var copy = new Array(data.length);
for (var j = 0, l = data.length; j < l; j++) {
  copy[j] = data[j];
}
ready
Loop Fixed While 1
var copy = [],
    length = data.length;
while(length--){
  copy[length] = data[length];
}
ready
Loop Fixed 3
var copy = [];
for (var j = 0, l = data.length; j < l; j++) {
  copy[j] = data[j];
}
ready
Loop fixed 4
var copy = Array(data.length);
for (var j = 0, l = data.length; j < l; j++) {
  copy[j] = data[j];
}
ready

Revisions

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