Большинство авторов компиляторов на самом деле настолько ленивы, что никогда не реализуют инструкцию приращения в своей промежуточной форме. Вместо этого у них есть инструкция по добавлению, и этот вид оптимизации остается на заднем плане.
ал, что многие разработчики используют x + = 1 вместо x ++ для ясности. Я понимаю, что x ++ может быть неоднозначным для новых разработчиков и что x + = 1 всегда более понятен, но есть ли разница в эффективности между ними?
Пример использования для цикла:
for(x = 0; x < 1000; x += 1)
противfor(x = 0; x < 1000; x++)
Я понимаю, что обычно это не так уж и сложно, но если я неоднократно вызываю функцию, которая выполняет такой цикл, это может привести к долгосрочным последствиям.
Другой пример:
while(x < 1000) {
someArray[x];
x += 1;
}
против
while(x < 1000) {
someArray[x++];
}
Можно ли заменить x ++ на x + = 1 без потери производительности? Я особенно обеспокоен вторым примером, потому что я использую две строки вместо одной.
Как насчет увеличения элемента в массиве? БудетsomeArray[i]++
быть быстрее, чем делатьsomeArray[i] += 1
когда сделано в большой петле?