--
Sebastian Schwaiger
http://www.buddesystems.de.vu
"Sebastian Schwaiger" <sebisc...@t-noline.de> wrote in message
news:oprzn3hw...@news.t-online.de...
> Ich weiß, dass es nicht so schwer sein sollte, aber Google gibt zu CPU
> Speed algorithm nichts brauchbares her.
>
Du brauchst eine Schleife, die eine genau definierte Anzahl an Zyklen
benoetigt, dann die Zeit fuer diese Schleife mit den HighPerformanceCountern
messen, vorher noch ueberpruefen, welcher Prozessor exakt drin steckt
(Abhaengigkeit der Zyklenzahl einzelner Befehle vom CPU-Typ) und dass waere
es dann auch schon. Aus dem Wert x us pro n Zyklen kann man prima auf die
Prozessorgeschwindigkeit schliessen.
MFG
Volkmar Kostka
Unter NT4 und W2K stehen CPU-Daten in der Registry:
[HKEY_LOCAL_MACHINE\Hardware\Description\System\CentralProcessor\0]
~Mhz = <MegaHertz als DWORD>
Wenn man's nur ungefähr wissen will, sollte das IMHO reichen.
Allerdings weiß ich nicht, wann sie dort reingeschrieben werden und
ob sie aktualisiert werden, wenn man die CPU austauscht.
Gruß,
Christian
"Sebastian Schwaiger" <sebisc...@t-noline.de> wrote in message
news:oprzn3hw...@news.t-online.de...
> Ich weiß, dass es nicht so schwer sein sollte, aber Google gibt zu CPU
> Speed algorithm nichts brauchbares her.
Zu "cpu speed measurement" gibt's als dritten Link folgendes:
http://web.inter.nl.net/hcc/J.Steunebrink/chkcpu.htm
Ist zwar aelter, die beschriebene Technik sollte aber immer noch gueltig
sein.
MFG
Volkmar Kostka
http://qadpz.idi.ntnu.no/doxy/html/cputicker_8cpp-source.html
sieht vielversprechend aus
--
MfG
Lars Stegelitz
>
> Hallo,
>
> "Sebastian Schwaiger" <sebisc...@t-noline.de> wrote in message
> news:oprzn3hw...@news.t-online.de...
>> Ich weiß, dass es nicht so schwer sein sollte, aber Google gibt zu CPU
>> Speed algorithm nichts brauchbares her.
>
> Zu "cpu speed measurement" gibt's als dritten Link folgendes:
----------------^^^^^^^^^^^^âchso
> http://web.inter.nl.net/hcc/J.Steunebrink/chkcpu.htm
>
> Ist zwar aelter, die beschriebene Technik sollte aber immer noch gueltig
> sein.
>
> MFG
danke, das habe ich gesucht!
>
> Volkmar Kostka
werd ich mir merken, aber die manuelle berechnung ist mir doch lieber.
Sebi
thx!
> Gruß,
> Christian
Sieht nicht nur vielversprechend aus, sondern hält das auch. Hat mir
schon sehr gute Dienste beim Profiling geleistet. Die Klasse kann
wesentlich mehr als nur die CPU Geschwindigkeit messen.
Hajü
> Ich weiß, dass es nicht so schwer sein sollte, aber Google gibt zu CPU
> Speed algorithm nichts brauchbares her.
>
Hab was gefunden:
int CCPUInfo::GetSpeed()
{
unsigned sum=0;
unsigned cycles_high1=0, cycles_low1=0;
unsigned cycles_high2=0, cycles_low2=0;
unsigned __int64 temp_cycles1=0, temp_cycles2=0,c1=0,c2=0;
__int64 total_cycles=0;
__asm {
pushad
CPUID
RDTSC
mov cycles_high1, edx
mov cycles_low1, eax
popad
}
Sleep(1000);
__asm {
pushad
CPUID
RDTSC
mov cycles_high2, edx
mov cycles_low2, eax
popad
}
temp_cycles1 = ((unsigned __int64)cycles_high1 << 32) | cycles_low1;
temp_cycles2 = ((unsigned __int64)cycles_high2 << 32) | cycles_low2;
return (int)double((temp_cycles2 - temp_cycles1)/1000000);