clock - Déterminer la durée d'utilisation du processeur
Bibliothèque C standard (
libc,
-lc)
#include <time.h>
clock_t clock(void);
La fonction
clock() renvoie une durée approximative d'utilisation
du processeur par le programme.
La valeur renvoyée est le temps CPU écoulé, en
unités d'horloge
clock_t, pour obtenir une durée en
secondes, divisez-la par
CLOCKS_PER_SEC. Si l'heure processeur n'est
pas disponible, ou si sa valeur ne peut pas être
représentée correctement, la valeur renvoyée est
(clock_t) -1.
Pour une explication des termes utilisés dans cette section, consulter
attributes(7).
Interface |
Attribut |
Valeur |
clock() |
Sécurité des threads |
MT-Safe |
POSIX.1-2001, POSIX.1-2008, C99. XSI demande que
CLOCKS_PER_SEC soit
égal à 1 000 000 indépendamment de la
résolution réelle.
Le standard C autorise une valeur quelconque d'horloge au début du
programme ; il faut donc utiliser la différence entre la valeur
actuelle et celle de
clock() au lancement du programme pour obtenir une
portabilité maximale.
Notez que la valeur peut revenir à zéro. Sur un système
32 bits, lorsque
CLOCKS_PER_SEC vaut 1 000 000,
cette fonction redonnera les mêmes valeurs toutes les 72 minutes
environ.
Sur plusieurs autres implémentations, la valeur renvoyée par
clock() inclut aussi le temps écoulé par
l'exécution des processus fils dont les statistiques ont
été collectées par
wait(2) (ou une fonction
équivalente). Linux n'inclut pas le temps des enfants attendus dans la
valeur renvoyée par
clock(). La fonction
times(2), qui
renvoie de manière explicite et distinctes les informations sur
l'appelant et ses enfants, peut être préférable.
Dans la glibc version 2.17 et antérieures,
clock()
était construite en utilisant
times(2). Afin d'améliorer
la précision, cette fonction est construite depuis la
version 2.18 en utilisant
clock_gettime(2) (qui utilise
l'horloge
CLOCK_PROCESS_CPUTIME_ID).
clock_gettime(2),
getrusage(2),
times(2)
La traduction française de cette page de manuel a été
créée par Christophe Blaess
<
https://www.blaess.fr/christophe/>, Stéphan Rafin
<
[email protected]>, Thierry Vignaud
<
[email protected]>, François Micaux, Alain Portal
<
[email protected]>, Jean-Philippe Guérard
<
[email protected]>, Jean-Luc Coulon (f5ibh)
<
[email protected]>, Julien Cristau
<
[email protected]>, Thomas Huriaux <
[email protected]>,
Nicolas François <
[email protected]>, Florentin
Duneau <
[email protected]>, Simon Paillard
<
[email protected]>, Denis Barbier
<
[email protected]> et David Prévot <
[email protected]>
Cette traduction est une documentation libre ; veuillez vous reporter
à la
GNU
General Public License version 3 concernant les conditions de copie
et de distribution. Il n'y a aucune RESPONSABILITÉ LÉGALE.
Si vous découvrez un bogue dans la traduction de cette page de manuel,
veuillez envoyer un message à
[email protected]