![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Банальная оптимизация(или около этого)
No_Dead © (2008-04-20 19:17:00)Ох, давно не писАл тут)))
В общем вопрос такой:
как лучше/правильнее/как вы бы сделали?
var
a1,a2,summ:integer;
begin
a1:=strtoint(edit4.Text);
a2:=strtoint(edit5.Text);
summ:=a1+random(a2-a1);
end;
или
var
summ:integer;
begin
summ:=strtoint(edit4.Text)+random(strtoint(edit5.Text)-strtoint(edit4.Text));
end;
ЗЫ.первый вариант по симпотичнее, имхо
brother (2008-04-21 11:32:00) [1]
> и с какой версии компилятора три вызова функций StrToInt
> (с тремя вызовами функций GetText) стали еквивалентны двум
> вызовам функции StrToInt( с двумя вызовами GetText)?
признаю свои ошибки)
ушел посыпать голову пеплом...
Palladin (2008-04-21 11:14:00) [2]
> tesseract © (20.04.08 19:20) [1]
и с какой версии компилятора три вызова функций StrToInt (с тремя вызовами функций GetText) стали еквивалентны двум вызовам функции StrToInt( с двумя вызовами GetText)?
> lewka-serdceed (20.04.08 19:25) [3]
ты переменные сначала назначать научись, чем код оценивать...
Sha (2008-04-21 10:47:00) [3]Первый вариант оптимальнее, по крайней мере в Delphi7.
brother (2008-04-21 07:37:00) [4]
> vara1,a2,summ:integer;begina1:=strtoint(edit4.Text);a2:=strtoint(edit5.
> Text);summ:=a1+random(a2-a1);end;илиvarsumm:integer;beginsumm:
> =strtoint(edit4.Text)+random(strtoint(edit5.Text)-strtoint(edit4.
> Text));end;
одинаковы... но имхо 2 вариант симпатишнее
lewka-serdceed (2008-04-20 19:25:00) [5]все одинаково
No_Dead (2008-04-20 19:24:00) [6]даже при условии что если значения в edit4.Textи edit5.Textбудут использоваться несколько сот раз в одной процедуре?
tesseract (2008-04-20 19:20:00) [7]никакого выигрыша. Компилятор всё равно сведёт все к выигрышу по процессору. Т.Е к одному и тому же коду.