Требуется вычислить время затраченное на работу программы или на отдельный её кусок. В инете нашёл только функцию GetLocalTime, но даже не знаю как один её рещультат вычесть из другого. Подскажите пожалуйста как реализовать такой замер времени?
Как ручной способ могу предложить ассемблерные вставки с rdtsc
Код:
_asm
{
xor eax,eax
cpuid
rdtsc
mov [count],eax
//код, время выполнения которого меряем
xor eax,eax
cpuid
rdtsc
sub eax,[count]
// в eax - сколько намеряли
}
однако, это рекомендованный код для интелов. GetLocalTime нехорошо юзоть, когда время выполнения программы меряете, совсем нехорошо. Результаты наверняка получите далекие от действительности.
Последний раз редактировалось 0x0c0de; 28.02.2009 в 10:27..