» »

C++ Časovno testiranje kode

C++ Časovno testiranje kode

zacetnik11 ::

Hojla

Imam eno težavo v C++ in sicer ne najdem na netu knjižnice ali kode, s katero bi testiralsvoj program.
Imam napisano kodo in bi rad izmeril čas delovanje pred optimizacijo, po optimizaciji in še razne varjante.

Ali obstaja kakšna knjižnica ki to omogoča.

Hvala za pomoč.

smoke ::

Ena možnost je da uporabiš __rdtsc intrinsic funkcijo na začetku programa in na koncu in nato odšteješ zadnjo vrednost od prve. __rdtsc je vbistvu assembly ukaz ki vrne število ciklov od zagona računalnika.
Druga možnost je pa uporaba funkcije QueryPerformanceCounter (če si na windowsu) ki pa je baje bolj točen

rdtsc: http://msdn.microsoft.com/en-us/library...
QueryPerformanceCounter: http://msdn.microsoft.com/en-us/library...

Lep pozdrav

Mavrik ::

Temu, kar ti hočeš se reče "profiling", in načinov je kar nekaj, vsi pa so odvisni od tega kateri prevajalnik uporabljaš in na kateri platformi si.

Recimo:
Profiling C++ Code on Linux @ SO
Windows C++ code profiler

Etc.
The truth is rarely pure and never simple.

zacetnik11 ::

Najprej hvala za rešitve. Delam kr v dev c++ in v konzolnem načinu, ali ne obstaja kakšna funkcija ki bi bila primerna, oziroma ali lahko nastavim čas na milisekunde in potem odštejem časa.
Hvala za odgovore.

Vesoljc ::

na windows platformi:

če rabiš samo milisekunde lahko uporabiš
SYSTEMTIME time;
GetLocalTime( &time );

če pa rabiš večjo natančnost pa tako kot smoke pravi QueryPerformanceCounter
Abnormal behavior of abnormal brain makes me normal...

zacetnik11 ::

Hvala za tako hitre odgovore.
Sem uporabil kr time funkcijo in sicer:

clock_t t1, t2;
t1 = clock();
//koda se izvede
t2 = clock();
diff = (t2 - t1) / float CLOCKS_PER_SEC ;

Upam da bo dovolj natančen pokazatelj.

Hvala za pomoč.


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

[C] cas, time_t

Oddelek: Programiranje
171422 (1260) Imortales
»

Funkcije v dev-c++ - HElp needed

Oddelek: Programiranje
131341 (1225) bozjak
»

Najhitrejši programski jezik? (strani: 1 2 )

Oddelek: Programiranje
757418 (5238) Senitel
»

c++ čas izvajanja ukaza

Oddelek: Programiranje
161229 (1077) fogl
»

c++ parallel port

Oddelek: Programiranje
10981 (861) slawc

Več podobnih tem