Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.049 c
8-1116517391
Expl
2005-05-19 19:43
2005.10.09
Двигать изображение в TImage


6-1118391561
dDan
2005-06-10 12:19
2005.10.09
Ошибка при Get


2-1125119779
Ivanov
2005-08-27 09:16
2005.10.09
Новый компонент


14-1126951777
YurikGL
2005-09-17 14:09
2005.10.09
Вступление России в ВТО - закрепление за Россией роли


1-1127222082
OldNaum
2005-09-20 17:14
2005.10.09
TPanel Vs. XPManifest




   Наверх