Будет ли компилятор Java оптимизировать цикл for с идентичным вызовом метода внутри?JAVA

Программисты JAVA общаются здесь
Anonymous
Будет ли компилятор Java оптимизировать цикл for с идентичным вызовом метода внутри?

Сообщение Anonymous »

Мне интересно, оптимизирует ли компилятор Java выполнение цикла for, если в теле цикла for нет никаких изменений?
Например, предположим, что у меня есть следующий код:

Код: Выделить всё

double res = 0;
for (int i = 0; i < 1000; i++) {
res = calculateResValue();
}
Сможет ли компилятор сократить цикл for до одного вызова CalculateResValue()?
Спасибо за помощь!
Спасибо за помощь!
Компилятор сократит цикл for до одного вызова CalculateResValue() p>
Я попробовал изменить верхнюю границу счетчика итераций и заметил, что время, затраченное на цикл for, не меняется пропорционально увеличению границы, т. е. допустим, я запускаю цикл не for 1000 раз, но 10000 раз. Ожидаю увеличения сроков в 10 раз, но этого не происходит.

Подробнее здесь: https://stackoverflow.com/questions/790 ... all-inside

Вернуться в «JAVA»