Сегодня я прочитал пост об улучшении производительности в С# и Java.
Я все еще застрял на этом:
19. Не злоупотребляйте переменными экземпляра
Производительность может быть улучшена с помощью локальных переменных. Код в примере 1 будет выполняться быстрее, чем код в примере 2.
Example1:
public void loop() {
int j = 0;
for ( int i = 0; i<250000;i++){
j = j + 1;
}
}
Пример 2:
int i;
public void loop() {
int j = 0;
for (i = 0; i<250000;i++){
j = j + 1;
}
}
Действительно, я не понимаю, почему должно быть быстрее создавать экземпляр памяти и освобождать ее каждый раз, когда выполняется вызов функции loop
когда я мог бы сделать простой доступ к полю.
Это просто любопытство, я не пытаюсь поместить переменную 'i' в область видимости класса: p Это правда, что быстрее использовать локальные переменные? Или, может быть, в каком-то случае?