Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Система";
Текущий архив: 2002.11.21;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.007 c
1-69326
Anar
2002-11-06 08:38
2002.11.21
Ресурсы в EXE


1-69330
Sartak
2002-11-11 21:27
2002.11.21
Привет всем! Проблема со стыковкой форм, как в winamp,е


1-69407
Eva
2002-11-10 18:06
2002.11.21
Экспортирование отчетов FastReport в Excel


1-69437
Pesh
2002-11-06 13:47
2002.11.21
Remove Dir не пашет под XP :(((


14-69523
SPeller
2002-11-02 18:49
2002.11.21
Как приятно на своей машине смотреть фильмы :-)





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский