Scroll to navigation

clock(3) Library Functions Manual clock(3)

NAZWA

clock - wyznacza czas 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-bezpieczne

WERSJE

XSI wymaga, aby CLOCKS_PER_SEC było równe 1000000, niezależnie od rzeczywistej rozdzielczości.

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.

STANDARDY

C11, POSIX.1-2008.

HISTORIA

POSIX.1-2001, C89.

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).

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.

ZOBACZ TAKŻE

clock_gettime(2), getrusage(2), times(2)

TŁUMACZENIE

Autorami polskiego tłumaczenia niniejszej strony podręcznika są: Adam Byrtek <alpha@irc.pl>, Andrzej Krzysztofowicz <ankry@green.mf.pg.gda.pl>, Robert Luberda <robert@debian.org> i Michał Kułach <michal.kulach@gmail.com>

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 manpages-pl-list@lists.sourceforge.net.

2 maja 2024 r. Linux man-pages 6.8