Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Быстрота циклов


Просто_новичок ©   (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 просто так не вставишь, а если и вставишь, то с такими издержками, что лучше бы не вставлял...


Наверх

Титульная страница Поиск, карта сайта Написать письмо