CLOCK(3)

BEZEICHNUNG
clock - ermittelt die verbrauchte CPU-Zeit

ÜBERSICHT
#include <time.h>

clock_t clock(void);

BESCHREIBUNG
Die Funktion clock() gibt eine Näherung für die vom Programm verbrauchte Prozessorzeit zurück.

RÜCKGABEWERT
Der Rückgabewert ist die bisher verbrauchte CPU-Zeit. Er ist vom Typ clock_t. Für die Umrechnung in Sekunden teilen ihn Sie durch CLOCKS_PER_SEC. Wenn die Prozessorzeit nicht verfügbar oder ihr Wert nicht darstellbar ist, gibt die Funktion (clock_t) -1 zurück.

ATTRIBUTE
Siehe attributes(7) für eine Erläuterung der in diesem Abschnitt verwandten Ausdrücke.
Schnittstelle | Attribut | Wert
clock() | Multithread-Fähigkeit | MT-Safe

KONFORM ZU
POSIX.1-2001, POSIX.1-2008, C89, C99. XSI fordert, dass CLOCKS_PER_SEC unabhängig von der tatsächlichen Auflösung gleich 1000000 ist.

ANMERKUNGEN
Der C-Standard lässt willkürliche Werte beim Programmstart zu. Um maximale Portierbarkeit zu gewährleisten, subtrahieren Sie jeweils den Rückgabewert von clock() beim Programmstart.

Beachten Sie, dass Zeit überlaufen kann. Auf einem 32-Bit-System, auf dem CLOCKS_PER_SEC 1000000 ist, wird diese Funktion ungefähr alle 72 Minuten den gleichen Wert zurückgeben.

Es gibt einige andere Implementierungen, bei denen der Rückgabewert von clock() auch die Zeiten der Kindprozesse enthält, deren Status mittels wait (oder einem Aufruf einer anderen Funktion vergleichbarer Funktionalität) ermittelt wurden. Die Linux-Implementierung schließt im Rückgabewert von clock die Wartezeiten auf Kindprozesse nicht mit ein. Die Funktion times(2) liefert detaillierte, separate Informationen über den aufrufenden Prozess und seine Kindprozesse zurück. Sie ist vorzuziehen, wenn Sie diese Informationen benötigen.

In glibc 2.17 und früher setzte clock() auf times(2) auf. Zur Verbesserung der Präzision ist es seit glibc 2.18 als Aufsatz von clock_gettime(2) implementiert (wobei die CLOCK_PROCESS_CPUTIME_ID-Uhr verwendet wird).

SIEHE AUCH
clock_gettime(2), getrusage(2), times(2)

KOLOPHON
Diese Seite ist Teil der Veröffentlichung 4.16 des Projekts Linux-man-pages. Eine Beschreibung des Projekts, Informationen, wie Fehler gemeldet werden können sowie die aktuelle Version dieser Seite finden sich unter https://www.kernel.org/doc/man-pages/.

ÜBERSETZUNG
Die deutsche Übersetzung dieser Handbuchseite wurde von Patrick Rother <krd@gulu.net>, Michael Piefel <piefel@debian.org>, Martin Eberhard Schauer <Martin.E.Schauer@gmx.de> und Mario Blättermann <mario.blaettermann@gmail.com> erstellt. Diese Übersetzung ist Freie Dokumentation; lesen Sie die GNU General Public License Version 3 oder neuer bezüglich der Copyright-Bedingungen. Es wird KEINE HAFTUNG übernommen. Wenn Sie Fehler in der Übersetzung dieser Handbuchseite finden, schicken Sie bitte eine E-Mail an <debian-l10n-german@lists.debian.org>.