IPB
ЛогинПароль:

> Улучшение кода, Уменьшение времени работы программ
Altair
сообщение 7.03.2004 13:39
Сообщение #1


Ищущий истину
******

Группа: Модераторы
Сообщений: 4 824
Пол: Мужской
Реальное имя: Олег

Репутация: -  45  +


Быстрые циклы.

Всего тестировалось 4 конструкции:
  • "FOR ... TO ... Do...",
  • "WHILE... do...",
  • "REPEAT ... until ...",
  • " If... Then GOTO ..."

Проведение теста:
сортировка массива (array[1..20] of integer) методом пузырька.
Всего было проведено 30 тестов :
10 c n= 10^4;
10 c n= 10^5;
10 c n= 10^6;
и один тест с n=10^7 (один, т.к. с увеличением степени n на 1, время проведения теста увеличивается соответственно в 10 раз)


Результат:
Во всех случаях (каждый тест - новый массив) самой быстрой конструкцией оказалась "While ... do...", следом за ней "If ... then Goto..."


Прикрепленные файлы
Прикрепленный файл  test.pas ( 1.76 килобайт ) Кол-во скачиваний: 739


--------------------
Помогая друг другу, мы справимся с любыми трудностями!
"Не опускать крылья!" (С)
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
BlackShadow
сообщение 31.05.2004 11:08
Сообщение #2


Гость






trminator, по памяти, может, её и проще, но на рефлексах пишется и пузырёк и QuickSort smile.gif
 К началу страницы 
+ Ответить 

Сообщений в этой теме
Altair   Улучшение кода   7.03.2004 13:39
mj   на процессорах P2 и ниже FOR быстрее чем WHILE до...   13.03.2004 18:09
Atos   И Да ЗдравствуетИтерация! Пример: старая добра...   16.03.2004 14:44
trminator   [b]Ускорение вычислений mod Програма считает 50 -...   15.05.2004 18:53
P@sh@   [color=blue]Деление на степень двойки Аналогично ...   15.05.2004 20:08
P@sh@   Разворачивание циклов. -=loops unrolling=- Один и...   17.05.2004 18:42
trminator   P@sh@, сомневаюсь, что игра стОит свеч. Хотя попро...   19.05.2004 19:35
Altair   Процедуры FAR Все процедуры в модулях, пишутся в ...   25.05.2004 14:28
BlackShadow   Специально для Oleg_Z: В BP есть такая возможность...   25.05.2004 16:26
BlackShadow   Описалова в книгах достаточно. Посмотрю чего - зав...   25.05.2004 22:46
trminator   Как нам говорили на лекции по ОС, оверлей - аналог...   27.05.2004 18:30
trminator   А про использование AssignCRT вместо Assign для за...   27.05.2004 18:37
BlackShadow   Ну и зкономии ради можно (олимпиадныю трюк) воспол...   27.05.2004 21:40
Altair   Просто есть файловая переменная Input и output тол...   27.05.2004 21:44
trminator   Про сортировку. Понятно, что пузырек и компания ни...   27.05.2004 23:04
BlackShadow   trminator, да похоже на пирамидку. Oleg_Z, использ...   28.05.2004 11:36
trminator   Так... я не закончил про сортировки :) ИМХО, испол...   29.05.2004 15:32
BlackShadow   trminator, по памяти, может, её и проще, но на реф...   31.05.2004 11:08
BlackShadow   Oleg_Z, вот чего у меня в книге есть: Функции Over...   31.05.2004 11:43
Altair   То есть ты хочешь сказать, что если описать : va...   31.05.2004 15:44
BlackShadow   А, если ты напишешь так: Var  a,b:Inte...   31.05.2004 16:04
Romtek   Взято из ООП. Объектно-ориентированное программиро...   7.06.2004 22:25
Altair   Begin и end лишние видимо я поставил, а вот объеди...   8.06.2004 13:52
BlackShadow   Вспомнил один момент такой. При работе с дробями, ...   15.06.2004 12:32
Altair   Нет, ассемблер нужно применять только для шлифовк...   15.06.2004 19:27
Romtek   Complete boolean evaluation (compiler option)   15.06.2004 22:08
BlackShadow   Да уж, Oleg_Z, это действительно отключается дирек...   16.06.2004 13:42
Altair   BlackShadow, в следующий раз оформляй логические ...   16.06.2004 15:20
Romtek   В первом случае имеем 2 операции, а во втором - 3   16.06.2004 16:15
Altair   Да, но во первых операция NOT ИМХО должна выполнят...   16.06.2004 20:24
Altair   Вот еще: Если в программе используется write и wri...   17.06.2004 13:34
Altair   REAL почти в 2 раза медленнее [b]ВСЕХ других число...   18.06.2004 14:05
P@sh@   Oleg_Z Real потому медленнее, что у него размер н...   26.06.2004 7:41
BlackShadow   Int64 появился только в 32-битных компиляторах. По...   2.07.2004 15:23
Atos   А вот это, мне кажется, интересно: Простой пример:...   16.10.2004 8:13
BlackShadow   Atos, ну это и лосю понятно. При последовательном ...   18.10.2004 21:24
Atos   В каком именно Паскале? Ну, я же не лось... Не...   19.10.2004 6:17
GoodWind   Borland Turbo Pascal 7.0 TMT pascal да и во всех ...   19.10.2004 12:17
Atos   Действительно... Просто никогда её не использовал....   19.10.2004 13:51
Altair   Странно, тестирую бытсрую и пирамидальную на скоро...   7.11.2004 15:14
Altair   Да, все верно, [color=blue]пирамида медленнее чем...   7.11.2004 16:24
Dark   Просто память физически устроена как конденсаторы ...   9.11.2004 1:23
volvo   [b]Обмен значений в переменных. Для увеличения ск...   22.01.2005 19:39


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 19.06.2025 15:47
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"