постинкремент против предварительного инкремента - Оптимизация Javascript

Я просматривал Google Code, когда случайно наткнулся на этот проект под названием JSpeed - оптимизация для Javascript.

Я заметил, что одна из оптимизаций должна была изменитьi++ в++i в для операторов цикла.

До оптимизации

for (i=0;i<1;i++) {}

for (var i = 0, j = 0; i < 1000000; i++, j++) {
    if (i == 4) {
        var tmp = i / 2;
    }

    if ((i % 2) == 0) {
        var tmp = i / 2;
        i++;
    }
}
var arr = new Array(1000000);
for (i = 0; i < arr.length; i++) {}

После оптимизации

for(var i=0;i<1;++i){}
for(var i=0,j=0;i<1000000;++i,++j){if(i==4){var tmp=i>>1;}
if((i&1)==0){var tmp=i>>1;i++;}}
var arr=new Array(1000000);for(var i=0,arr_len=arr.length;i<arr_len;++i){}

Я знаю, что делают до и после инкремента, но есть идеи, как это ускоряет код?

Ответы на вопрос(8)

Ваш ответ на вопрос