🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.lang.asm
Article #2463

Re: Skąd dokładny zegar w C pod Win XP/7 ?

#2463
From: Borneq
Date: Sun, 08 May 2011 22:09
33 lines
2189 bytes
W dniu 2011-05-08 23:22, KrisB pisze:
> Potrzebuję zrobić porównanie czasu wykonania algorytmów pod Visual C++ i
> Win XP/7.
>
> Funkcja C time( time_t) z rozdzielczością do milisekund mi nie
> wystarcza-potrzebuję rozdzielczości gdzieś do mikrosekund. (może być
> wstawka asm)

QueryPerformanceCounter chodzi z częstotliwością około 3 MHz ale lepiej 
odczytać tę częstotliwość za pomocą QueryPerformanceFrequency.
Jeśli by to nie wystarczyło można użyć wstawki assemblerowej RDTSC która 
mierzy pojedyncze takty CPU (!) i jej wywołanie trwa bardzo krótko. 
Należy jednak pamiętać że na wielordzeniowych procesorach (wielu 
procesorach) głupio się zachowuje, bo każdy rdzeń ma swój własny 
taktomierz, które się rozjeżdzają. Aby więc zmierzyć wątek/proces
    nn rekord typu 64 bitowego
   _asm{
     dw 310Fh // rdtsc
     mov nn.Lo, eax
     mov nn.Hi, edx
   }
proceura do mierzenia
   _asm
   {
     dw 310Fh // rdtsc
     sub eax, nn.Lo
     sbb edx, nn.Hi
     mov nn.Lo, eax
     mov nn.Hi, edx
   }
należy ustawić aby był wykonywany tylko przez jeden rdzeń:
SetProcessAffinityMask(GetCurrentProcess(), 1);
inaczej ma się dziwne wyniki.
Technical Details
Message-ID: <iq74b6$p7q$1@news.onet.pl>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.rmf.pl!agh.edu.pl!news.agh.edu.pl!news.onet.pl!.POSTED!not-for-mail
References: <iq71hq$q7r$1@inews.gazeta.pl>

Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.rmf.pl!agh.edu.pl!news.agh.edu.pl!news.onet.pl!.POSTED!not-for-mail
From: Borneq <borneq@antyspam.hidden.pl>
Newsgroups: pl.comp.lang.asm
Subject: Re: Skąd dokładny zegar w C pod Win XP/7 ?
Date: Mon, 09 May 2011 00:09:59 +0200
Organization: http://onet.pl
Lines: 33
Message-ID: <iq74b6$p7q$1@news.onet.pl>
References: <iq71hq$q7r$1@inews.gazeta.pl>
NNTP-Posting-Host: 194.117.241.254
Mime-Version: 1.0
X-Trace: news.onet.pl 1304892582 25850 194.117.241.254 (8 May 2011 22:09:42 GMT)
X-Complaints-To: niusy@onet.pl
NNTP-Posting-Date: Sun, 8 May 2011 22:09:42 +0000 (UTC)
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; pl; rv:1.9.2.17) Gecko/20110414 Thunderbird/3.1.10
In-Reply-To: <iq71hq$q7r$1@inews.gazeta.pl>
X-Antivirus: avast! (VPS 110508-1, 2011-05-08), Outbound message
X-Antivirus-Status: Clean
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit