![]() |
![]() |
Altair |
![]()
Сообщение
#1
|
![]() Ищущий истину ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 4 824 Пол: Мужской Реальное имя: Олег Репутация: ![]() ![]() ![]() |
Быстрые циклы.
Всего тестировалось 4 конструкции:
Проведение теста: сортировка массива (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..." Прикрепленные файлы ![]() -------------------- Помогая друг другу, мы справимся с любыми трудностями!
"Не опускать крылья!" (С) |
![]() ![]() |
Altair |
![]()
Сообщение
#2
|
![]() Ищущий истину ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 4 824 Пол: Мужской Реальное имя: Олег Репутация: ![]() ![]() ![]() |
Вот еще:
Если в программе используется write и writeln, то следует убрать последнюю, а использовать только write и управляющие символы. Доказательство преимущества этого способа: 1 байт с проги снимется, т.к. writeln и write процедуры вне кода описанны, и компилтруются в расчете на FAR. А так, вместо 2 байт на дальнюю модель памяти (т.е. на адрес процедуры) уйдет только 1 байт! ====== добавил позже ======= Облом. Я проверил все. 1. Логические операции бесполезно упрощать! 2. Writeln работает быстрее, чем write('ddfd',#13,#10), и к тому же на 100 кб(!!) меньше код получается (использовался один раз). 3. Сильно уменьшает код (на 150-200 кб) следующие директивы (применять только на уже оптимизированных программах) Цитата N+ - сопроцессор E+ - эмуляция сопроцессора I- - отключение проверок ввода/вывода R- - отключение проверок на границы массивов S- - отмена проверки на переполнение стека Q- - отмена проверок на границы типов (overflow, underflow) B- - быстрое вычисление логических условий D- - отключить информацию для отладки (пропадает возможность отлаживать программу!!!) (взял с сурсов.) Очень полезные директивы. Только две первые не влияют на размер. Сообщение отредактировано: Oleg_Z - 17.06.2004 15:45 -------------------- Помогая друг другу, мы справимся с любыми трудностями!
"Не опускать крылья!" (С) |
![]() ![]() |
![]() |
Текстовая версия | 29.07.2025 9:30 |