Ĺadny brzuch
Zwracam sie do was o pomoc. Mam napisać funkcję która oblicza czas wykonywania pewnej funkcji obliczeniowej. Funkcja obliczeniowa może być np. reprezentowana za pomocą funkcji sleep(n), gdzie n jest liczbą sekund generowaną losowo. Jakiej funkcji czasu (systemowej) mam użyc do tego obliczenia i jak jej użyć?
Dostepne funkcje to:
time(), localtime(), ctime(), gmtime(), mktime(), asctime(), strftime(), gettimeofday(), difftime().
Proszę o pomoc i z góry dzieki.
Lipek
jak chcesz sprawdzic ile czasu trwala praca danej funkcji to powinno wystarczyc zwykle time i ew. difftime, lub jakies funkcje unixa do pobierania czasu procesora (mikrosekundy) - ale to tylko gdy funkcja dziala ponizej 1s...
FreeBSD r0x :P
http://www.cepa.end.pl
http://cepa.algorytmy.one.pl
GG: 2175556
OK. To pokaz jak to zrobic majac np. cos takiego:
void func();
int main() {
func();
}
void func() {
// cos tam robi
}
Jak pokazac czas ile czasu pracowała funkcja func()???
Lipek
najprosciej by bylo:
time_t T1 = 0,T2 = 0;
//...
time(&T1);
func();
time(&T2);
//...
printf("%ldn",T2 - T1);
powinno dac wynik w sekundach, jak chcesz mniejsze jednostki to szukaj struktor ktore to umozliwiaja, bylo cos podajze jak timeval ale nie wiem jak sie tego dokladnie uzywa....
FreeBSD r0x :P
http://www.cepa.end.pl
http://cepa.algorytmy.one.pl
GG: 2175556
ok. sprobuje. dzieeeeeeeki!!!!!
Lipek
No wlasnie, a moze ktos wie jak uzyc do tego celu funkcji gettieofday() lub difftime() aby czas byl był pokazywany w mniejszych jednostach niz sekundy?
Lipek
zanotowane.pl doc.pisz.pl pdf.pisz.pl zsf.htw.pl
Dostepne funkcje to:
time(), localtime(), ctime(), gmtime(), mktime(), asctime(), strftime(), gettimeofday(), difftime().
Proszę o pomoc i z góry dzieki.
Lipek
jak chcesz sprawdzic ile czasu trwala praca danej funkcji to powinno wystarczyc zwykle time i ew. difftime, lub jakies funkcje unixa do pobierania czasu procesora (mikrosekundy) - ale to tylko gdy funkcja dziala ponizej 1s...
FreeBSD r0x :P
http://www.cepa.end.pl
http://cepa.algorytmy.one.pl
GG: 2175556
OK. To pokaz jak to zrobic majac np. cos takiego:
void func();
int main() {
func();
}
void func() {
// cos tam robi
}
Jak pokazac czas ile czasu pracowała funkcja func()???
Lipek
najprosciej by bylo:
time_t T1 = 0,T2 = 0;
//...
time(&T1);
func();
time(&T2);
//...
printf("%ldn",T2 - T1);
powinno dac wynik w sekundach, jak chcesz mniejsze jednostki to szukaj struktor ktore to umozliwiaja, bylo cos podajze jak timeval ale nie wiem jak sie tego dokladnie uzywa....
FreeBSD r0x :P
http://www.cepa.end.pl
http://cepa.algorytmy.one.pl
GG: 2175556
ok. sprobuje. dzieeeeeeeki!!!!!
Lipek
No wlasnie, a moze ktos wie jak uzyc do tego celu funkcji gettieofday() lub difftime() aby czas byl był pokazywany w mniejszych jednostach niz sekundy?
Lipek