StartseiteProgrammierungC++/VCL

Funktion Performence messen

22. AUGUST 2011
von Jörg
Programmierung - C++/VCL

Um die Geschwindigkeit einer Funktion zu messen, braucht man nur die folgenden zwei Funktionen erstellen und die Ausgabe einen Label zuweisen.

vor der zu messende Funktion:
01
02
03
04
05
06
void TForm1::vorFoo()
{   // Frequenz des hochauflösenden Performance Counters bestimmen:
    QueryPerformanceFrequency(&ilPerfFreq);
    // Zählerstand des Performance Counters auslesen:
    QueryPerformanceCounter(&ilStartTime);
}
nach der zu messende Funktion:
01
02
03
04
05
06
07
08
09
10
11
12
13
void TForm1::nachFoo(TLabel *Label1)
{   // Zählerstand des Performance Counters auslesen:
    LARGE_INTEGER ilCurrentTime;
    QueryPerformanceCounter(&ilCurrentTime);
    // Zeitdifferenz in Sekunden berechnen:
    if(ilCurrentTime.QuadPart && ilPerfFreq.QuadPart && ilStartTime.QuadPart)
    {
      double dlTimeElapsed = (long double)(ilCurrentTime.QuadPart - ilStartTime.QuadPart)
      /((long double)ilPerfFreq.QuadPart);
      Label1->Caption = FormatFloat("0.0000", dlTimeElapsed) + " s";
    }
    else Label1->Caption = EmptyStr;
}

Hinterlasse einen Kommentar

Ein Frosch der sich an der Seite festhält