max for loop speed (v7)

Revision 7 of this benchmark created on


Setup

var itemCount = 1000000;

Test runner

Ready to run.

Testing in
TestOps/sec
single push
var result = [];
for (var i = 0; i < itemCount; i++) {
  result.push(i);
}
ready
2 push
var result = [];
var count = itemCount / 2
for (var i = 0; i < count; i++) {
  result.push(i * 2 + 0, i * 2 + 1);
}
ready
2 push use base
var result = [];
var count = itemCount / 2
for (var i = 0; i < count; i++) {
  var base = i * 2;
  result.push(base + 0, base + 1);
}
ready
5 push
var result = [];
var count = itemCount / 5
for (var i = 0; i < count; i++) {
  result.push(i * 5 + 0, i * 5 + 1, i * 5 + 2, i * 5 + 3, i * 5 + 4);
}
ready
5 push use base
var result = [];
var count = itemCount / 5
for (var i = 0; i < count; i++) {
  var base = i * 5;
  result.push(base + 0, base + 1, base + 2, base + 3, base + 4);
}
ready
5 push use i+=5
var result = [];
for (var i = 0; i < itemCount; i += 5) {
  result.push(i + 0, i + 1, i + 2, i + 3, i + 4);
}
ready
10 push use base
var result = [];
var count = itemCount / 10
for (var i = 0; i < count; i++) {
  var base = i * 10;
  result.push(base + 0, base + 1, base + 2, base + 3, base + 4, base + 5, base + 6, base + 7, base + 8, base + 9);
}
ready
no push
var result = [];
for (var i = 0; i < itemCount; i++) {
  result[i] = i;
}
ready
no push reverse
var result = [];
for (var i = itemCount-1; i>=0; i--) {
  result[i] = i;
}
ready
no push preallocated array
var result = new Array(itemCount);
for (var i = 0; i < itemCount; i++) {
  result[i] = i;
}
ready

Revisions

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