Forum » Programiranje » 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č.
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
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.
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.
Hvala za odgovore.
Vesoljc ::
na windows platformi:
če rabiš samo milisekunde lahko uporabiš
če pa rabiš večjo natančnost pa tako kot smoke pravi QueryPerformanceCounter
č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č.
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 ...
Tema | Ogledi | Zadnje sporočilo | |
---|---|---|---|
Tema | Ogledi | Zadnje sporočilo | |
» | [C] cas, time_tOddelek: Programiranje | 1582 (1420) | Imortales |
» | Funkcije v dev-c++ - HElp neededOddelek: Programiranje | 1412 (1296) | bozjak |
» | Najhitrejši programski jezik? (strani: 1 2 )Oddelek: Programiranje | 7735 (5555) | Senitel |
» | c++ čas izvajanja ukazaOddelek: Programiranje | 1293 (1141) | fogl |
» | c++ parallel portOddelek: Programiranje | 1035 (915) | slawc |