Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Wie CPU Speed herausfinden?

15 views
Skip to first unread message

Sebastian Schwaiger

unread,
Dec 4, 2003, 12:42:58 PM12/4/03
to
Ich weiß, dass es nicht so schwer sein sollte, aber Google gibt zu CPU
Speed algorithm nichts brauchbares her.

--
Sebastian Schwaiger
http://www.buddesystems.de.vu

Kostka, Volkmar

unread,
Dec 4, 2003, 1:02:59 PM12/4/03
to
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.
>

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


Christian Knapmeyer

unread,
Dec 4, 2003, 1:38:18 PM12/4/03
to

"Sebastian Schwaiger" <sebisc...@t-noline.de> schrieb :

> Ich weiß, dass es nicht so schwer sein sollte, aber Google gibt zu CPU
> Speed algorithm nichts brauchbares her.

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


Kostka, Volkmar

unread,
Dec 4, 2003, 1:39:48 PM12/4/03
to

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:
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


Lars Stegelitz

unread,
Dec 4, 2003, 2:52:07 PM12/4/03
to
Sebastian Schwaiger wrote:
> Ich weiß, dass es nicht so schwer sein sollte, aber Google gibt zu CPU
> Speed algorithm nichts brauchbares her.

http://qadpz.idi.ntnu.no/doxy/html/cputicker_8cpp-source.html

sieht vielversprechend aus

--
MfG
Lars Stegelitz


Sebastian Schwaiger

unread,
Dec 5, 2003, 8:19:12 AM12/5/03
to
Am Thu, 4 Dec 2003 19:39:48 +0100 hat Kostka, Volkmar <volkmarkostka@t-
online.de> geschrieben:

>
> 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

Sebastian Schwaiger

unread,
Dec 5, 2003, 8:18:21 AM12/5/03
to
Am Thu, 4 Dec 2003 19:38:18 +0100 hat Christian Knapmeyer
<knap...@cms.tecmath.de> geschrieben:

werd ich mir merken, aber die manuelle berechnung ist mir doch lieber.
Sebi

thx!

> Gruß,
> Christian

Hans J. Ude

unread,
Dec 5, 2003, 8:33:55 AM12/5/03
to
"Lars Stegelitz" <lars.st...@t-online.de> schrieb:

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ü

Sebastian Schwaiger

unread,
Jan 10, 2004, 6:38:38 AM1/10/04
to
Am Thu, 04 Dec 2003 18:42:58 +0100 hat Sebastian Schwaiger
<sebisc...@t-noline.de> geschrieben:

> 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);

0 new messages