Einzelnen Beitrag anzeigen

Reinhard Kern

Registriert seit: 22. Okt 2006
772 Beiträge
 
#6

Re: Benötigte Taktzyklen von Bytecodes herausfinden

  Alt 5. Jan 2009, 12:39
Zitat von Cyf:
Abend, gibt es eine Möglichkeit die benötigten Taktzyklen einer Funktion exakt zu bestimmen?
Nein, für heutige Prozessoren nicht. Opcodes können im Cache sein oder nicht, das kann schon eine Grössenordnung an Geschwindigkeit ausmachen. Z.B. ist eine Schleife um ein Vielfaches schneller abgearbeitet, wenn sie komplett in den Cache geladen wurde. Es gibt auch noch unzählige Optimierungen wie spekulative Ausführung, dazu kommt, dass alle halbwegs leistungsfähigen Prozessoren mehrere Befehle gleichzeitig abarbeiten, und ausserdem unterscheidet sich das Timing sowieso von Typ zu Typ, meistens sogar von Stepping zu Stepping.

Allein die Cachegrössen von first/second/third level cache haben einen extrem komplexen Einfluss auf die Arbeitsgeschwindigkeit, die natürlich auch von der speziellen Software abhängig ist. Daher ist auch Nachmessen völlig witzlos, das Ergebnis gilt nur für das Messprogramm und die aktuelle Hardware und kann sich durch Umstellen einiger Befehle bei gleicher Funktion dramatisch ändern.

Gruss Reinhard
  Mit Zitat antworten Zitat