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.