clock(3)

BEZEICHNUNG
clock - ermittelt die verbrauchte CPU-Zeit

BIBLIOTHEK
Standard-C-Bibliothek (libc, -lc)

Ü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-Sicher

VERSIONEN
XSI fordert, dass CLOCKS_PER_SEC unabhängig von der tatsächlichen Auflösung gleich 1000000 ist.

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.

STANDARDS
C11, POSIX.1-2008.

GESCHICHTE
POSIX.1-2001, C89.

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

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.

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

ÜBERSETZUNG
Die deutsche Übersetzung dieser Handbuchseite wurde von Michael Piefel <piefel@debian.org>, Patrick Rother <krd@gulu.net>, 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 (https://www.gnu.org/licenses/gpl-3.0.html) 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 die Mailingliste der Übersetzer: debian-l10n-german@lists.debian.org.