Вниз
Скачать: CL | DM;

Вызов процедуры   Найти похожие ветки 

 
McSimm2   (2003-09-05 08:58) [0]

Есть процедура, в теле которой в цикле вызывается функция. Почему так получается, что если вызывать не функцию, а поместить "тело" функцию в цикл ,то скорость возрастает в несколько раз ???


 
Рамиль ©   (2003-09-05 09:01) [1]

Посмотрите получившийся ассемблерный код.


 
MBo ©   (2003-09-05 09:05) [2]

Очевидно, накладные расходы на вызов функции существенно больше, чем на ее выполнение. Если функция совсем простая, все понятно, а если нет - следи за тем, например, как передаются параметры - не происходит ли затратное копирование не-var-параметров и т.п.


 
KSergey ©   (2003-09-05 09:07) [3]

Видимо, функция эта совсем мала, раз накладные расходы на ее вызов сопоставимы (или даже больше) времени выполнения ее самой.


 
KSergey ©   (2003-09-05 09:08) [4]

> [2] MBo © (05.09.03 09:05)

;)
Если я не копировал у вас, то как так получилось? ;)


 
Digitman ©   (2003-09-05 09:45) [5]


> McSimm2


код-то приведи ..

оба варианта..



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

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



Память: 0.45 MB
Время: 0.016 c
4-58982
Lilo
2003-07-17 15:07
2003.09.18
GlobalDOSAlloc


14-58830
Treg
2003-08-30 13:26
2003.09.18
Архивы конференции fido7.ru.delphi


7-58960
Мое имя (клоны все равно суксь)
2003-07-06 03:23
2003.09.18
Чтение MBR


3-58541
-=[SDA]=-
2003-08-28 09:50
2003.09.18
Подмена полей в DBGride


1-58671
pirat
2003-09-03 23:59
2003.09.18
халява с Synchronize




   Наверх