Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.11.21;
Скачать: CL | DM;

Вниз

Измерение быстродейсвия кода   Найти похожие ветки 

 
Mirovodin ©   (2002-09-23 15:58) [0]

Кто какие способы знает? Собсвенно необходима максимальная точность. В принципе есть неплохая функция GetTickCount:

T1:=GetTickCount;
...
Анализируемый код
...
T2:=GetTickCount;


Время выполнения T2-T2 в мс, но может кто еще что посоветует? может можно такты процессора получать ?


 
Anatoly Podgoretsky ©   (2002-09-23 16:03) [1]

Ассемблерная команда RDTSC - точность один тик процессора


 
RV ©   (2002-09-23 16:05) [2]

не знаю то, или не то
вот когда-то нарыл, не проверял

function GetCPUSpeed: Double;
const

DelayTime = 500;
var

TimerHi : DWORD;
TimerLo : DWORD;
PriorityClass : Integer;
Priority : Integer;
begin

PriorityClass := GetPriorityClass(GetCurrentProcess);
Priority := GetThreadPriority(GetCurrentThread);
SetPriorityClass(GetCurrentProcess, REALTIME_PRIORITY_CLASS);
SetThreadPriority(GetCurrentThread, THREAD_PRIORITY_TIME_CRITICAL);


Sleep(100);


asm
DW 310Fh // rdtsc
MOV TimerLo, EAX
MOV TimerHi, EDX
end;


Sleep(DelayTime);


asm
DW 310Fh // rdtsc
SUB EAX, TimerLo
SBB EDX, TimerHi
MOV TimerLo, EAX
MOV TimerHi, EDX
end;


SetThreadPriority(GetCurrentThread, Priority);
SetPriorityClass(GetCurrentProcess, PriorityClass);


Result := TimerLo / (1000.0 * DelayTime);
end;


// Usage ...

LabelCPUSpeed.Caption := Format("CPU speed: %f MHz", [GetCPUSpeed]);


 
MBo ©   (2002-09-23 16:05) [3]

>может можно такты процессора получать ?
Да, можно QueryPerfomanceCounter или RDTSC (0x0F, 0x31, если не ошибаюсь)
Причем можно для повышения точности учитывать время на вызов (однократный Старт-Стоп)



 
Mirovodin ©   (2002-09-23 16:23) [4]

Спасибо, нашел рабочий пример:
http://www.delphikingdom.com/treasury/rdtsc.htm




Страницы: 1 вся ветка

Текущий архив: 2002.11.21;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.019 c
1-69312
VirginKiller
2002-11-10 12:36
2002.11.21
редирект вывода на экран


1-69322
VJar
2002-11-12 17:30
2002.11.21
Проверка правильности типизованого файла


4-69622
sancho
2002-10-09 22:08
2002.11.21
Как сделать, чтобы форма не отображалась...


3-69184
mafiya
2002-11-01 08:32
2002.11.21
Treeview для базы данных


1-69338
Blarior
2002-11-10 02:00
2002.11.21
Hellp