Я хочу написать свою Java-программу как производительную, насколько я могу, поэтому я сокращаю все, чтобы добиться максимальной производительности ... В программе метод будет называться ок. 9 миллионов раз. там я должен что-то вычислить, просто вычитая два целых числа, и они нужны дважды.
поэтому мой вопрос, что быстрее: инициализировать новое целое число с результатом вычисления или просто вычислить значения дважды?
например:
int result = a-b;
methodToCall(result, foo, bla);
otherMethod(result, bla, foo);
или
methodToCall(a-b, foo, bla);
otherMethod(a-b, bla foo);
Я не вижу разницы напрямую, но иногда с первым методом немного быстрее ...
в общем: всегда ли первый метод лучше? например, при использовании других типов расчетов (более сложных). Компилятор java или jvm что-то делают для его оптимизации, например видите, что я делаю один и тот же расчет дважды и делаю это только один раз и кэширую результат самостоятельно?