Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.10.09;
Скачать: CL | DM;

Вниз

Написание оптимального кода под Delphi   Найти похожие ветки 

 
Fay ©   (2005-09-19 11:51) [0]

... есть такая статья
http://www.delphimaster.ru/articles/optimization.html
а в статье есть "Правило 12", гласящее
"Выносите инвариантный код за тело цикла. Наиболее частая ошибка – for i:=1 to length(str) do... Дело в том, что при каждой итерации будет вызываться функция length, что пагубно скажется на производительности."

Неужели сложно проверить? 8)


 
КаПиБаРа ©   (2005-09-19 12:03) [1]

Правило верное, а пример действительно неудачный. И в резюме он ссылается на этот пример.

А ты проверял это выражение вычисляется 1 раз при любых параметрах компилятора?


 
DiamondShark ©   (2005-09-19 12:04) [2]

Уже пинали.


 
DiamondShark ©   (2005-09-19 12:06) [3]


> А ты проверял это выражение вычисляется 1 раз при любых
> параметрах компилятора?

Это спецификация языка Паскаль.
Граничные выражения в for вычисляются один раз.


 
TUser ©   (2005-09-19 12:16) [4]

Эту статью тут как-то уже обсуждали. Там, кажется, и еще какие-то ляпы есть.

Может стоит удалять такое творчество?


 
Mystic ©   (2005-09-19 12:24) [5]

> Может стоит удалять такое творчество?

Лучше сообщить автору и исправить в следующей версии :)


 
isasa ©   (2005-09-19 13:07) [6]

>Граничные выражения в for вычисляются один раз.

Если вкл. Optimization {$O}, переделает на

for i:=length(str) downto 1 do...



Страницы: 1 вся ветка

Текущий архив: 2005.10.09;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.044 c
3-1124798024
Ландграф Павел
2005-08-23 15:53
2005.10.09
Копирование данных из одного .mdb в другой .mdb


1-1126763538
Ярослав
2005-09-15 09:52
2005.10.09
Определить сужествование MDI Child формы


2-1125681193
Гость22
2005-09-02 21:13
2005.10.09
Как определить, были ли изменены значения в таблице (TTable)?


4-1123783166
deamon_t
2005-08-11 21:59
2005.10.09
Сделать программу невидимой по Alt+Tab


2-1125231700
Иван Семенов
2005-08-28 16:21
2005.10.09
Как сохранить TColor в реестре?