NAZWA

clock - wyznaczanie czasu procesora

BIBLIOTEKA

Standardowa biblioteka C ( libc, -lc)

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.

ATRYBUTY

Informacje o pojęciach używanych w tym rozdziale można znaleźć w podręczniku attributes(7).
Interfejs Atrybut Wartość
clock() Bezpieczeństwo wątkowe MT-Safe
 

STANDARDY

POSIX.1-2001, POSIX.1-2008, C99. XSI requires that CLOCKS_PER_SEC equals 1000000 independent of the actual resolution.

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)

TŁUMACZENIE

Autorami polskiego tłumaczenia niniejszej strony podręcznika są: Adam Byrtek <[email protected]>, Andrzej Krzysztofowicz <[email protected]>, Robert Luberda <[email protected]> i Michał Kułach <[email protected]>
Niniejsze tłumaczenie jest wolną dokumentacją. Bliższe informacje o warunkach licencji można uzyskać zapoznając się z GNU General Public License w wersji 3 lub nowszej. Nie przyjmuje się ŻADNEJ ODPOWIEDZIALNOŚCI.
Błędy w tłumaczeniu strony podręcznika prosimy zgłaszać na adres listy dyskusyjnej [email protected]

Recommended readings

Pages related to clock you should read also: