Announcement

Collapse
No announcement yet.

Zeit messen der Dauer einer Funktion

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Zeit messen der Dauer einer Funktion

    Hallo zusammen,

    ich stehe vor der Aufgabe, die Dauer zu messen, die eine Funktion zur Abarbeitung einer Aufgabe braucht. Also ich belege irgendwelche Parameter und rufe dann eine Funktion auf (Calculate) und erhalte deren Rückgabe. Die Dauer dieser Calculate-Funktion müsste ich messen. Wie kann man so etwas bewerkstelligen?

    Vielen Dank!

    Gruß
    Uwe

  • #2
    var
    n1,n2,n3 : int64;

    // ----------------------------------------
    procedure StartTimer;
    begin
    QueryPerformanceFrequency(n1);
    QueryPerformanceCounter(n2);
    end;

    // ----------------------------------------
    function Stoptimer:int64;
    var nZeit : int64;
    begin
    QueryPerformanceCounter(n3);
    result := (n3-n2) * 1000 div n1;
    end;

    // ----------------------------------------
    So messe ich die Zeit in Millisekunden
    StartTimer;
    ...... Deine Function
    nZeit := StopTimer;
    showmessage( inttoStr(nZeit) );

    Viel Erfolg
    Oswal

    Comment


    • #3
      Falls es nicht nur eine Funktion ist sondern z.B. zur optimierung von Code geht: <a href="http://www.automatedqa.com/products/aqtime/index.asp">AQTime</a&gt

      Comment


      • #4
        Hallo!

        Ich habe immer

        GetTickCount

        verwendet. Hier im Forum gibt es unter diesem Begriff einige Beispiele.

        mfg
        Thoma

        Comment


        • #5
          Hallo Thomas

          Wenn du genaue Messungen, also Millisekunden brauchst. so würde ich GetTickCount nicht verwenden.

          siehe
          http://www.dsdt.info/tipps/?id=53

          Oswal

          Comment

          Working...
          X