![]() |
![]() |
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..." Прикрепленные файлы ![]() -------------------- Помогая друг другу, мы справимся с любыми трудностями!
"Не опускать крылья!" (С) |
![]() ![]() |
BlackShadow |
![]()
Сообщение
#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}, так вот если в модуле, то компилер просто игнорирует! Возможно. |
![]() ![]() |
![]() |
Текстовая версия | 22.06.2025 1:00 |