Привет всем! Задача: Написал кучу алгоритмов, хочу сравнивать статистическую эффективность. Чем лучше мерить время, за которое выполнился данный кусок кода? GetTickCount - Очень хреновая точность. Я остановился на паре QueryPerformanceCounter и QueryPerformanceFrequency... Но иногда выдает лажу!!! К тому же на процах с HT выдавала очень даже лажу! Есть ли еще средство, чтобы точно померить время, за которое выполнился кусок кода в Win32??? Хотелось бы услышать не только вариант для приложения 3-ring, но и вариант 0-ring + аппаратный таймер. Ось: Win XP
microprogs Есть код, описан в мануалах Агнера Фога для замера производительности. Также bogrus написал свою тестилку, очень хорошую. Поищи по форуму.
microprogs Точнее QueryPerformanceCounter\QueryPerformanceFrequency может быть только RDTSC (и то на некоторых сочетаниях железа и ОС QueryPerformance реализуются через RDTSC). А проблема тут не в том - чем мерить, а в том - что и как мерить. Измерения выдают не "лажу", а общее время выполнения кода на данном железе под Win32 с учетом прерываний, переключения потоков или их параллельного исполнения на процах с двумя ядрами или с HT. "Очень даже лажа" это сам HT, в котором на одном ядре вперемежку крутятся два потока и мешают друг другу - отключи эту лажу на время измерений и будет тебе счастье
Это все хорошо. Но хотелось бы узнать способ лучше, чем QueryPerformanceCounter\QueryPerformanceFrequency???
Критерий - хочу из всех API функций найти ту, которая точнее всего померит. Ясно, что у нас потоки, многозадачная ось и т.д.... Но все-таки - хочу померить скорость различных алгоритмов шифрования/сортировки... Померить среднестатистически!!! Я не собираюсь делать замер века, просто есть ли что-то точнее, чем QueryPerformanceCounter\QueryPerformanceFrequency, или на нем стоит остановиться??????
Критерий - хочу из всех API функций найти ту, которая точнее всего померит. Такой увы нет ! Вызывай напрямую команды которые выдают количество тактов проца ...
microprogs Тебе уже несколько раз и про rdtsc сказали и в поиск по форуму отправили. Если тебе влом искать wintest от bogrus'а, то хоть в соседние топики загляни - как минимум в трех речь идет о замере тиков и у тебя под носом народ свои варианты тестилок выкладывает