Einzelnen Beitrag anzeigen

Cyf

Registriert seit: 30. Mai 2008
407 Beiträge
 
Lazarus
 
#16

Re: cpu zeit einer schleife auslesen

  Alt 6. Jun 2008, 13:11
Zitat von Horst_:
Delphi-Quellcode:
// EAX ist der Zeiger auf t und muss gerettet werden
  // Weil der Compiler sonst durcheinander kommt
Nur um Verwirrung vorzubeugen, der Zeiger muss hier nur gerettet werden, da später übe die Zugriffe auf t auf ihn (also EAX) zugegriffen wird, generell stehen EAX. EBX und EDX zur freien Verfügung.

RDTSC bringt, wie schon genannt, isbesondere auf Multicoresystemen und bei Energiesparfunktionen (Taktveränderung), oder auch bei "out-of-order execution" gewisse Probleme mit sich (siehe auch -> englische Wikipedia "RDTSC").
Wenn man diese Probleme nicht ausschließen kann, sind QueryPerformanceFrequency() + QueryPerformanceCounter(), denke ich, die bessere Alternative.
  Mit Zitat antworten Zitat