1. NOM

profil - Suivi du temps d'exécution

2. SYNOPSIS

 
Sélectionnez
#include <unistd.h>
int profil(unsigned short *tampon, size_t taille_tampon,
           size_t offset, unsigned int echelle);

Exigences de macros de test de fonctionnalités pour la glibc (consultez feature_test_macros(7)) :

profil() : _BSD_SOURCE || (_XOPEN_SOURCE && _XOPEN_SOURCE < 500)

3. DESCRIPTION

Cette routine fournit un moyen de détecter les zones où votre programme passe l'essentiel de son temps. L'argument tampon pointe sur taille_tampon octets de mémoire. Toutes les 10 millisecondes virtuelles, le compteur de programme (PC) est examiné. On lui soustrait la valeur offset et le résultat est multiplié par echelle puis divisé par 65536. Si la valeur résultant est inférieure à taille_tampon, l'élément correspondant du tampon est incrémenté. Si tampon est NULL, Le suivi est désactivé.

4. VALEUR RENVOYÉE

Cette routine renvoie toujours zéro.

5. CONFORMITÉ

Similaire à un appel de SVr4 (mais pas POSIX.1-2001).

6. BOGUES

profil() ne doit pas être invoqué dans les programmes qui utilisent des horloges internes ITIMER_PROF (consultez setitimer(2)). Un vrai suivi fourni par le noyau donnerait des résultats plus précis. La bibliothèque libc 4.4 contenait un patch pour implémenter un appel système profil dans le noyau.

7. VOIR AUSSI

gprof(1), setitimer(2), sigaction(2), signal(2)

8. COLOPHON

Cette page fait partie de la publication 3.52 du projet man-pages Linux. Une description du projet et des instructions pour signaler des anomalies peuvent être trouvées à l'adresse http://www.kernel.org/doc/man-pages/.

9. TRADUCTION

Depuis 2010, cette traduction est maintenue à l'aide de l'outil po4a <http://po4a.alioth.debian.org/> par l'équipe de traduction francophone au sein du projet perkamon <http://perkamon.alioth.debian.org/>.

Christophe Blaess <http://www.blaess.fr/christophe/> (1996-2003), Alain Portal <http://manpagesfr.free.fr/> (2003-2006). Nicolas François et l'équipe francophone de traduction de Debian (2006-2009).

Veuillez signaler toute erreur de traduction en écrivant à <>.

Vous pouvez toujours avoir accès à la version anglaise de ce document en utilisant la commande « LC_ALL=C man <section> <page_de_man> ».