Re[3]: Оптимизация
От: AleX AciD Россия  
Дата: 08.02.07 00:19
Оценка:
Здравствуйте, KinK, Вы писали:

KK>А вот это:


KK>if (obj[j].arr[z])
KK>  x = y + obj[j].arr[z];
KK>


KK>на это:


KK>if (tmp = obj[j].arr[z])
KK>  x = y + tmp;
KK>


KK>менять наверное не стоит.


Стоит, я бы даже так написал:

tmp = obj[j].arr[z];
if (tmp != 0)
  x = y + tmp;


KK>Доступ к элементу массива наверное не дольше чем доступ к локальной переменной, а вот инициализация переменной наверное немного вреаени сожрёт. Да и читаемость текста ухудшается...


Доступ к элементу массива дольше, чем доступ к локальной переменной. Переменная может и в регистре процессора храниться, а за массивом нужно в память лезть... А читаемость по-моему ничуть не хуже.

PS:
Ассемблерный листинг, выдаваемый компилятором — лучший помощник при оптимизации.
Dura lex, sed lex
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.