Текущий архив: 2003.03.03;
Скачать: CL | DM;
ВнизПрофайлинг Найти похожие ветки
← →
REA (2003-02-21 15:51) [0]Ну вот переписал я критичный кусок программы на ассемблере и как теперь замерить время его работы? GetTickCount и т.п. не пойдет, т.к. времена там очень маленькие. Никто не встречал приличный профайлер для Delphi чтобы время мерил в тактах и микросекундах?
← →
ggsoft (2003-02-21 15:58) [1]Ну попробуй, пожалуй <GetThreadTimes(...)>
или <GetProcessTimes(...)>, но насчет тактов не уверен...
← →
Anatoly Podgoretsky (2003-02-21 16:03) [2]RDTSC или QueryPerformanceCounter
← →
REA (2003-02-21 16:03) [3]Дык другой процесс память отъест или еще чего. Нужен честный профайлер. У меня есть ссылки, но нет желания сравнивать самому профайлеры. Может кто профилировал уже?
← →
MBo (2003-02-21 16:05) [4]профайлеры есть, но для одной задачи, imho, не стоит их применять, т.к. не так уж просто.
Померить время можно с помощью QueryPerformanceCounter или asm-инструкции RDTSC:
function GetCPUCount:int64;assembler;
asm
db 0fh,31h
end
← →
MBo (2003-02-21 16:06) [5]>Нужен честный профайлер
попробуй ProDelphi
← →
ggsoft (2003-02-21 16:13) [6]Ничего он (другой процесс) не отьест, кроме собственно процесора. Но почему же это другой (честный) профайлер будет работать по-честному, ведь Windows сама распоряжается "алгоритмом" выделения квантов процессора для каждого процесса и потока, и, как утверждается более менее честно. Или программа не под Windows?
Ни разу не пробовал, хотя на компьютере и установлен MS Application Perfomance Explorer их пакета MS Visual studio 6.
← →
REA (2003-02-21 16:18) [7]Thanx
← →
REA (2003-02-21 16:27) [8]2MBo: А что оно хоть выдает? Какое-то число огроменное.
← →
Anatoly Podgoretsky (2003-02-21 16:32) [9]Ты про что?, было два совета.
← →
REA (2003-02-21 16:32) [10]И почему не написать?:
function GetCPUCount:int64;assembler;
asm
rdtsc;
end
← →
REA (2003-02-21 16:33) [11]Я про CPUCount, хотя ладно - сам попробую разобраться.
Страницы: 1 вся ветка
Текущий архив: 2003.03.03;
Скачать: CL | DM;
Память: 0.46 MB
Время: 0.008 c