Czas wykonywania programu

kurak38
Użytkownik
Użytkownik
Posty: 11
Rejestracja: 17 gru 2005, o 19:13
Płeć: Mężczyzna
Lokalizacja: Koszalin

Czas wykonywania programu

Post autor: kurak38 »

Znacie może jakiś program, który mierzy czas wykonywania programu z dokładnością większą niz 1 sec. O ile się nie myle to w c++ można użyć funkcji time() ale ona chyba mierzy z dokładnością do 1 sec, a mi chodzi o większą.

Jak znacie coś albo macie to byłbym wdzięczny.

pozdrawiam:)
arigo
Użytkownik
Użytkownik
Posty: 852
Rejestracja: 23 paź 2004, o 10:17
Płeć: Mężczyzna
Lokalizacja: Lublin
Pomógł: 28 razy

Czas wykonywania programu

Post autor: arigo »

zle kombinujesz
ten czas ktory Ci zostanie podany to czas systemowy a nie danego procesu. jednak jesli chcesz dalej podazac ta droga to mozesz sie zapoznac z funkcja clock() z time.h (zgodna ze standardem ANSI C)

w linuxie jest proste polecenie time ktore sluzy do tego

----------------------

w linuxie jest jeszcze cos takiego w sys/times.h

Kod: Zaznacz cały

(...)
  clock_t times(struct tms *buf);
  The times() function stores the current process times in the struct tms
       that buf points to.  The struct tms is as defined in <sys/times.h>:

       struct tms {
              clock_t tms_utime;  /* user time */
              clock_t tms_stime;  /* system time */
              clock_t tms_cutime; /* user time of dead children */
              clock_t tms_cstime; /* system time of dead children */
       };
(...)
kurak38
Użytkownik
Użytkownik
Posty: 11
Rejestracja: 17 gru 2005, o 19:13
Płeć: Mężczyzna
Lokalizacja: Koszalin

Czas wykonywania programu

Post autor: kurak38 »

Ten time() to chyba mierzy od liczbę sec od 1970 roku to można zrobić różnicę na początku programu z tą na końcu, ale ta dokładność....

Słyszałem że na stronie oi jest jakiś program, ale nie mogę znaleźć;/
arigo
Użytkownik
Użytkownik
Posty: 852
Rejestracja: 23 paź 2004, o 10:17
Płeć: Mężczyzna
Lokalizacja: Lublin
Pomógł: 28 razy

Czas wykonywania programu

Post autor: arigo »

kurak38 pisze:Ten time() to
nie napisalem ani slowa o time()
kurak38
Użytkownik
Użytkownik
Posty: 11
Rejestracja: 17 gru 2005, o 19:13
Płeć: Mężczyzna
Lokalizacja: Koszalin

Czas wykonywania programu

Post autor: kurak38 »

Już znalazłem. Informuje też że jest na stronie program do mierzenia czasu, jeślui ktoś jest zainteresowany. W zakładce Przydatne zasoby->oi13-day0-dlazaw-dos.zip. Po rozpakowaniu w katalogu bin jest program "Timer", którego należy odpalić z dosa. Wchodzimy pod dosem (np przez cmd) w katalog z "timerem" i wpisujemy komende: timer.exe nazwa_programu.exe i on odpala program mierząc mu czas do zakończenia. Czas jest zapisywany do pliku timer.out w tym samym katalogu. Nazwa_programu- to zanwa programu który testujemy:). Mierzy on czas z dokładnością do 0.01s. Myśle że komuś się to przyda.
pozdrawiam:D
Awatar użytkownika
amdfanatyk
Użytkownik
Użytkownik
Posty: 98
Rejestracja: 27 mar 2005, o 14:59
Płeć: Mężczyzna
Lokalizacja: /dev/zero
Podziękował: 9 razy
Pomógł: 7 razy

Czas wykonywania programu

Post autor: amdfanatyk »

na windows pamietam queryFrequencyCounter i queryPerformaceCounter, ktore operuja na posiadajacym duza rozdzielczosc timerze procesora i nie ma dokladniejszych, ze slabszych pamietam getTicksCount chyba tak sie to nazywalo... dawno przestalem sie bawic z vc++ i mfc.
ODPOWIEDZ