Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: bcb dokladny timer
Forum PHP.pl > Inne > Hydepark
cinnek
Witam


Czy wie moze ktos z was jak zrobić dokladny licznik w c++ builderze albo w C smile.gif) chodzi mi o zmierzenie czasu wykonywania kodu z dokładnożcia do mikrosekundy.


Z góry wielkie dzieki
FiDO
Kod
#include <windows.h>



class timer {

private:

    LARGE_INTEGER lpFrequency;

    LARGE_INTEGER Start, End;

    bool started;

public:

    timer() : started(false) {}



    void start()

    {

  started = true;

  QueryPerformanceFrequency(&lpFrequency);

  QueryPerformanceCounter(&Start);

    }



    void stop()

    {

  QueryPerformanceCounter(&End);

  started = false;

    }

    

    double report()

    {

  if (started) stop();

  double t1, t2, fr;

  fr = (double)lpFrequency.QuadPart;

  t2 = (double)End.QuadPart;

  t1 = (double)Start.QuadPart;

  return ((t2-t1)/fr);

    }

};

Uzywasz tak:
Kod
timer t;

t.start();

// jakis kod do pomiaru

t.stop();

printf("%.10f", t.report());

Dokladnosc tego jest bardzo duza.
cinnek
Dzieki wielkie


Jakbym mogł sie jeszcze dowiedzieć w czym jest wynik milisekundy?questionmark.gif
FiDO
sekundy, ale zwracany jest double, wiec dopiero po przecinku widac roznice
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.