Главная страница
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.022 c
3-69191
ruslan_as
2002-11-01 11:11
2002.11.21
обновить одну запись


1-69259
d_oleg
2002-11-11 12:05
2002.11.21
TWinControl - focus


3-69142
koks
2002-10-29 17:46
2002.11.21
QuantumGrid: еще вопрос


7-69611
Зяблик
2002-09-20 13:26
2002.11.21
Кривые русские буквы в delphi6 под XP


7-69607
setar
2002-09-20 15:40
2002.11.21
Работа с модемом