Rechner-Taktfrequenz ermitteln

Design Patterns, Erklärungen zu Algorithmen, Optimierung, Softwarearchitektur
Forumsregeln
Wenn das Problem mit einer Programmiersprache direkt zusammenhängt, bitte HIER posten.
Antworten
TomCat
Beiträge: 10
Registriert: 02.03.2002, 09:29

Rechner-Taktfrequenz ermitteln

Beitrag von TomCat »

Hallo,

weiß jemand, wie man die Taktfrequenz eines Rechners bestimmen kann? Ich brauche das für exakte Zeitmessungen.
Den Performancecouter kann man ja mit dem ASM-Befehl: RDTSC auslesen. Leider zählt dieser ja mit der Rechner-Taktfrequenz hoch. D.H. je nach Rechner unterschiedlich schnell. Ich hab mir bis dato ne eigene Funktion gebastelt, um die Frequenz zu bestimmen. Aber gibts einen Befehl oder Methode, diese direkt zu erhalten?

ciao,
TomCat
Schnelle Autos !
Schnelle Frauen !
Schneller Code !
Benutzeravatar
Krishty
Establishment
Beiträge: 8229
Registriert: 26.02.2009, 11:18
Benutzertext: state is the enemy
Kontaktdaten:

Re: Rechner-Taktfrequenz ermitteln

Beitrag von Krishty »

Dir ist schon klar, dass RDTSC mit Multi-Core-Prozessoren oder Power-Management Wurst geben kann (und wird)?

Gruß, Ky
seziert Ace Combat, Driver, und S.T.A.L.K.E.R.   —   rendert Sterne
Matthias Gubisch
Establishment
Beiträge: 470
Registriert: 01.03.2009, 19:09

Re: Rechner-Taktfrequenz ermitteln

Beitrag von Matthias Gubisch »

Hallo

Hier gibt es noch eine Moeglichkeit die Frequenz aus der Registry auszulesen, weis aber nicht wie genau und zuverlaessig das ist.
http://www.codeproject.com/KB/system/Pr ... Speed.aspx

Ansonsten was hindert dich daran die die Frequenz ueber den QueryPerformanceCounter zu berechnen?


bei der Registery Methode koennte es evtl noch ein Problem geben mit Energiesparmethoden bei Notebooks wenn die CPU runtergetaktet wird.

Sonst bleibt dir wohl nur noch die Moeglichkeit die Manuels der Prozessorhersteller zu waelzen obs nen ASM Befehl gibt mit dem du die Akutelle Frequenz abfragen kannst

Gruss
Matthias
Bevor man den Kopf schüttelt, sollte man sich vergewissern einen zu haben
Benutzeravatar
Krishty
Establishment
Beiträge: 8229
Registriert: 26.02.2009, 11:18
Benutzertext: state is the enemy
Kontaktdaten:

Re: Rechner-Taktfrequenz ermitteln

Beitrag von Krishty »

Matthias Gubisch hat geschrieben:Hier gibt es noch eine Moeglichkeit die Frequenz aus der Registry auszulesen
Mach es ihm nicht noch leichter ;)

Ich gehe davon aus, dass es hier um Zeitmessung geht, darum rate ich ebenfalls dringend zu QueryPerformanceCounter()/Frequency(). Sollte es aus anderen Gründen um die Taktfrequenz gehen (für die Debug-Log etc): Es ist das aussageschwächste Merkmal des Systems, wenn man meint sie zu brauchen, hat man irgendwo vorher einen Fehler gemacht.
seziert Ace Combat, Driver, und S.T.A.L.K.E.R.   —   rendert Sterne
Antworten