| Altair |
7.03.2004 13:39
Сообщение
#1
|
![]() Ищущий истину ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 4 824 Пол: Мужской Реальное имя: Олег Репутация: 45 |
Быстрые циклы.
Всего тестировалось 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..." Прикрепленные файлы
test.pas ( 1.76 килобайт )
Кол-во скачиваний: 754-------------------- Помогая друг другу, мы справимся с любыми трудностями!
"Не опускать крылья!" (С) |
![]() ![]() |
| BlackShadow |
31.05.2004 16:04
Сообщение
#2
|
|
Гость |
Цитата Не может компилятор быть таким глупым А, если ты напишешь так: Код Var a,b:Integer; Begin a:=5; If a=1 Then b:=3 End. Думаешь он под b ничего не выделит? А не веришь - проверь. Код Var a,b,c,d,e,f:File; q:Integer; Addra,Addrq:LongInt; Begin Addrq:=(Seg(q) Shl 4) + Ofs(q); Addra:=(Seg(a) Shl 4) + Ofs(a); WriteLn(SizeOf(a)); WriteLn(Addrq-Addra) End. Сколько пишет? Цитата А как подсчитывать количество обращений, скажем к массиву, или к файлу, или к прерыванию? 1). Ты же за FPC взялся? Помнишь я тебе про свойства говорил? Вот так и подсчитать. 2). См п. 1 3). Перехватить и увеличивать счётчик. Цитата Кстати, пока не забыл - здесь говорили что-то о {$M}, так вот если в модуле, то компилер просто игнорирует! Возможно. |
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
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![]() ![]() |
|
Текстовая версия | 8.12.2025 21:48 |