Главная страница
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.47 MB
Время: 0.032 c
8-1116337831
capman
2005-05-17 17:50
2005.10.09
bmp в avi посредством DSPack. установка скорости граба


2-1125117243
Alex7
2005-08-27 08:34
2005.10.09
Переменный оператор


2-1125548362
Andrew Red
2005-09-01 08:19
2005.10.09
Как собрать проект в D8?


14-1126006066
A.L.I.E.S
2005-09-06 15:27
2005.10.09
Кто и где работает самый лучший программист


14-1127044917
Yeg
2005-09-18 16:01
2005.10.09
Помогите найти D(y)...