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

Вниз

Как из способов будет правильным и быстрым?   Найти похожие ветки 

 
Antip   (2006-04-15 14:41) [0]

Пишу процедурку небольшую и вот задался вопросом. Как будет правильнее, вызывать два раза одну и ту же функцию для получения нового текста, или же создать переменную и вызвать всего один раз функцию создания нового текста. Вот какие варианты. Подскажите пожалуйста какой будет быстрее и правильнее? или для компилятора эти два варианта означают одно и тоже?


function NewText(Str: String): string;
begin
  Result := Str + " мой текст";
end;

Вариант 1.
procedure DrawIt(Cnvs: TCanvas; R: TRect; OldText: String);
begin
  DrawText(Cnvs.Handle, PChar(NewText(OldText)), Length(NewText(OldText)), R, DT_CALCRECT);
end;

Вариант 2.
procedure DrawIt(Cnvs: TCanvas; R: TRect; OldText: String);
var astr: string;
begin
  astr := NewText(OldText);
  DrawText(Cnvs.Handle, PChar(astr), Length(astr), R, DT_CALCRECT);
end;


 
Anatoly Podgoretsky ©   (2006-04-15 14:43) [1]

Секундомер.


 
jack128 ©   (2006-04-15 14:47) [2]

как считаешь, что быстрее - вызвать функцию один раз или два?


 
Antip   (2006-04-15 14:49) [3]

Ну понятно, что любой вариант прорисовки для человека будет незаметен. Тут вопрос больше, что для системы тяжелее будет, пусть хоть в наносекунду. Но будут ли два вызова функции напряжнее, чем создание переменной и вызов фукнции один раз, вот чего я пока незнаю и зачем собственно и задал вопрос. Инициализация переменной тоже дело не шутошное для системы имхо 0_о))


 
Anatoly Podgoretsky ©   (2006-04-15 15:26) [4]

Так ты использовал секундомер или нет?


 
sniknik ©   (2006-04-15 15:26) [5]

> Но будут ли два вызова функции напряжнее, чем создание переменной и вызов фукнции один раз
а ты, что думаеш, в первом варианте переменные не создаются? вернее память под данные не выделяется?

а присвоение указателя на созданную переменную(данные), сделать так сказать визуальное ее представление, это как раз дело пустяковое, меньше чем шуточное.


 
Antip   (2006-04-15 16:44) [6]


> Anatoly Podgoretsky ©   (15.04.06 15:26) [4]
> Так ты использовал секундомер или нет?

да времени нет эксперементы ставить ;)


> sniknik ©   (15.04.06 15:26) [5]

спасибо, я понял. выгоднее все-таки второй вариант, хоть и кода на строчку больше ))


 
Anatoly Podgoretsky ©   (2006-04-15 17:07) [7]

Antip   (15.04.06 16:44) [6]
Согласно вопроса, намекешь, что оно у нас есть.



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

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

Наверх




Память: 0.48 MB
Время: 0.047 c
2-1144846775
dima_kds
2006-04-12 16:59
2006.04.30
Excel


5-1130482196
Priest
2005-10-28 10:49
2006.04.30
Вложеное свойство типа компонент


15-1144529218
Petr V. Abramov
2006-04-09 00:46
2006.04.30
Что? Где? Когда? 2006


15-1144400144
McSimm
2006-04-07 12:55
2006.04.30
Кстати, может кому-то интересно все-таки решить кто не знает.


1-1143046865
Gear
2006-03-22 20:01
2006.04.30
RxRichEdit и линки