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

> Внимание! Действует предмодерация

Подраздел FAQ (ЧАВО, ЧАстые ВОпросы) предназначен для размещения готовых рабочих программ, реализаций алгоритмов. Это нечто вроде справочника, он наполнялся в течение 2000х годов. Ваши вопросы, особенно просьбы решить задачу, не пройдут предмодерацию. Те, кто наполнял раздел, уже не заходят на форум, а с теми, кто на форуме сейчас, лучше начинать общение в других разделах. В частности, решение задач — здесь.

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


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

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

Репутация: -  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 килобайт ) Кол-во скачиваний: 666


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

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


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

 





- Текстовая версия 23.04.2024 14:07
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name