for loop speed i++ vs ++i (v130)

Revision 130 of this benchmark created on


Setup

var arr = [];
  for (var i = 0; i < 10; i++) {
    arr[i] = Math.random();
  }

Test runner

Ready to run.

Testing in
TestOps/sec
i++ test
for (var i = 0, len = arr.length; i < len; i++) {
  arr[i] *= 2;
}
ready
++i test
for (var i = 0, len = arr.length; i < len; ++i) {
  arr[i] *= 2;
}
ready
Rev 1
for (var i = arr.length-1; i >= 0; i--) {
  arr[i] *= 2;
}
ready
Rev 2
for (var i = arr.length-1; i == 0; i--) {
  arr[i] *= 2;
}
ready
Rev 3
for (var i = arr.length-1; i != -1; --i) {
  arr[i] *= 2;
}
ready
Rev Rev
for (var i = -arr.length; i == 0; ++i) {
  arr[-i] *= 2;
}
ready
While Rev
var len = arr.length;
while (len--) {
  arr[len] *= 2;
}
ready
While Rev Fix
var len = -arr.length;
while (len++) {
  arr[-len] *= 2;
}
ready
standard loop
for (var i = 0; i < arr.length; i++) {
  arr[-i] *= 2;
}
ready
forwhile hybrid
var len = arr.length;
for (var i = len ; i--;) {
  arr[-i] *= 2;
}
ready
Rev 2 ===
for (var i = arr.length-1; i === 0; i--) {
  arr[i] *= 2;
}
ready
Rev 2 lt
for (var i = arr.length-1; i < 0; i--) {
  arr[i] *= 2;
}
ready

Revisions

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