Strona 2 z 2
: 15 września 2007, 22:40
autor: n4buchodonozor
Nie wiem czy dobrze mnie zrozumieliscie. Moze jeszcze raz. Musze porownac wydajnosc 2 systemow. GNU/Linux i WinXP. Najprostrze co mi przyszlo do glowy to wlasnie taki prosty benchmark ale zeby wynik byl miarodajny to musza byc takie same maszyny i ta sama operacja, roznic sie moga tylko sprodowiskiem.
Uproszcze: jak zmierzyc czas wykonywania petli w C++?
: 15 września 2007, 23:15
autor: hot_stuff
Plik naglowkowy ctime i funkcja time() jezeli nie ta to na google wpisujesz ctime c++ i ktorys z 3 pierwszych linkow o ile nie pierwszy zaprowadzi ci do strony z funkcjami z tej biblioteki. Jest ona w standardzie C++ wiec wszystko co jest w niej jest przenosne jednak nie radze uzywac funkcji clock() bo ona sie nie nadaje do sprawdzania czasu jaki uplynal.
W sumie funkcja time() chyba zwraca sekundowy czas a tobie bedzie potrzebny czas w milisekundach inaczej zapewne wyjda ci te same dane...
Co do funkcji liczacych milisekundy hmmm.. sam kiedys szukalem i nie znalazlem<no pod windowsem jest GetTickCount() a co pod linuxem hmmm...>
No i funkcja mierzaca czas raczej nie musi byc ta sama pod linuxem i pod windowsem wazne jest tylko to co bedzie sie dzialo pomiedzy kolejnymi pobraniami czasu - im dluzej to cos bedzie trwac tym dane beda dokladniejsze czyli polecam np jakas metode sortujaca duza ilosc danych, puszczona w petli<np sortowanie babelkowe :mrgreen: > a moze by tak tescik lucasa na pierwszosc liczb? ;-) no lub to wspomniane PI.
Jedno mnie tylko zastanawia -> takie 'matematyczne' benchmarki sprawdza ci tylko ewentualne roznice w 'optymalnosci' wykorzystania procesora i w pewnym stopniu RAM'u<zaleznie od testu - przy obliczaniu PI raczej pamiec niewiele ma do gadania ale to tez zalezy>
Rozpisalem sie a to znaczy, ze jestem senny... a tyle jeszcze mam do zrobienia...
edit: Czas dzialania petli zmierzysz pobierajac jakas funkcja czas przed jej rozpoczeciem i po jej zakonczeniu a nastepnie wyliczasz roznice czasu<zapewne to wiesz ale na wszelki wyadek napisalem> czym zmierzyc hmm... patrz co napisalem pare zdan wyzej.
Pozdrawiam.