![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Быстрота циклов
Просто_новичок © (2007-05-23 15:45:00)Подскажите пожалуйста, какой из циклов работает быстрее, насколько и почему?
Anatoly Podgoretsky (2007-05-23 19:51:00) [1]Быстрее работает второй.
Reindeer Moss Eater (2007-05-23 18:06:00) [2]Работает быстрее тот, где меньше итераций:)
Не быстрее работает, а быстрее заканчивается.
Германн (2007-05-23 17:47:00) [3]for i:=0 to -1 do Sleep(1000000);
А так быстрее всего :)
Jeer (2007-05-23 17:35:00) [4]for i := 0 to 0 do
begin
Sleep(1000);
end;
:))
Джо (2007-05-23 17:02:00) [5]> [5] Jeer © (23.05.07 16:56)
> Работает быстрее тот, где меньше итераций:)
for i := 0 to 10 do
begin
Sleep(1000);
end;
i := 0;
while i <= 1000 do
begin
Sleep(1);
Inc(I)
end;
;)
Jeer (2007-05-23 16:56:00) [6]Работает быстрее тот, где меньше итераций:)
Reindeer Moss Eater (2007-05-23 16:49:00) [7]Подскажите пожалуйста, какой из циклов работает быстрее, насколько и почему?
работает быстрее тот, который выполняется на более мощном проце.
umbra (2007-05-23 16:03:00) [8]
> какой из циклов работает быстрее
тот, в котором итерация занимает меньше времени. А время на итерацию определяется тем, какие действия производятся в теле цикла.
McSimm_ (2007-05-23 15:56:00) [9]for в Паскале иногдаработает быстрее, т.к. не пересчитывается условие окончания цикла и лучше оптимизируется.
> насколько
на 17
В общем случае такой вопрос не должен волновать разработчика. Цикл надо выбирать не исходя из скорости, а исходя из задачи.
For используется для заранее известного количества итераций.
While для циклов с проверкой условия перед очередной итерацией.
Repeat - после очередной итерации.
Однокамушкин (2007-05-23 15:53:00) [10]for, потому что легче всего оптимизируется...
Но я с трудом представляю, что вам эта информация даст... Всё равно там, где алгоритмически нужен repeat или while, for просто так не вставишь, а если и вставишь, то с такими издержками, что лучше бы не вставлял...