CLOCK(3)

NAZWA
clock - wyznaczanie czasu procesora

SKŁADNIA
#include <time.h>

clock_t clock(void);

OPIS
Funkcja clock() zwraca przybliżoną ilość czasu procesora wykorzystanego przez program.

WARTOŚĆ ZWRACANA
Zwracana wartość to ilość czasu CPU wykorzystanego do tej pory w formacie clock_t. Aby otrzymać czas w sekundach, należy podzielić go przez CLOCKS_PER_SEC. Jeśli informacja o wykorzystanym czasie procesora jest niedostępna lub wartość tego czasu nie może zostać przedstawiona, zwracana jest wartość (clock_t) -1.

ZGODNE Z
C89, C99, POSIX.1-2001. POSIX wymaga, aby CLOCKS_PER_SEC było równe 1000000, niezależnie od rzeczywistej rozdzielczości.

UWAGI
Standard C dopuszcza nieokreśloną wartość na początku programu. Aby zapewnić maksymalną przenośność, należy odjąć od wyniku funkcji wartość zwróconą przez clock() na początku programu.

Należy zauważyć, że zegar może się przekręcić. W systemach 32-bitowych, gdzie CLOCKS_PER_SEC wynosi 1000000, funkcja ta będzie zwracać tę samą wartość co około 72 minuty.

W niektórych innych implementacjach wartość zwracana przez clock() zawiera również czasy procesów potomnych, których kod zakończenia został odczytany za pomocą wait(2) (lub innego programu typu "wait"). Linux nie dołącza do wartości zwracanej clock() czasów procesów potomnych, na których zakończenie oczekiwano. Funkcja times(2), zwracająca (osobne) informacje o procesie macierzystym i o jego potomkach, może być bardziej pożądana.

W glibc 2.17 i wcześniejszych clock() był implementowany za pomocą times(2). Aby zwiększyć dokładność, od wersji glibc 2.18 jest implementowany za pomocą clock_gettime(2) (przy użyciu zegara CLOCK_PROCESS_CPUTIME_ID).

ZOBACZ TAKŻE
clock_gettime(2), getrusage(2), times(2)

O STRONIE
Angielska wersja tej strony pochodzi z wydania 3.71 projektu Linux man-pages. Opis projektu, informacje dotyczące zgłaszania błędów, oraz najnowszą wersję oryginału można znaleźć pod adresem http://www.kernel.org/doc/man-pages/.

TŁUMACZENIE
Autorami polskiego tłumaczenia niniejszej strony podręcznika man są: Adam Byrtek (PTM) <abyrtek@priv.onet.pl>, Andrzej Krzysztofowicz (PTM) <ankry@mif.pg.gda.pl> i Robert Luberda <robert@debian.org>.

Polskie tłumaczenie jest częścią projektu manpages-pl; uwagi, pomoc, zgłaszanie błędów na stronie http://sourceforge.net/projects/manpages-pl/. Jest zgodne z wersją 3.71 oryginału.