PROFIL(3)

NOM
profil - Suivi du temps d'exécution

SYNOPSIS
#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 (voir feature_test_macros(7)) :

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

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

VALEUR RENVOYÉE
Cette routine renvoie toujours zéro.

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

BOGUES
profil() ne doit pas être invoquée dans les programmes qui utilisent des timers ITIMER_PROF. 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.

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

TRADUCTION

Ce document est une traduction réalisée par Christophe Blaess <http://www.blaess.fr/christophe/> le 14 décembre 1998 et révisée le 24 juin 2008.

L'équipe de traduction a fait le maximum pour réaliser une adaptation française de qualité. La version anglaise la plus à jour de ce document est toujours consultable via la commande : « LANG=C man 3 profil ». N'hésitez pas à signaler à l'auteur ou au traducteur, selon le cas, toute erreur dans cette page de manuel.