La commande prof
La commande prof affiche un profil d'utilisation de l'unité centrale pour chaque symbole externe, ou routine, d'un programme spécifié.
En détail, il affiche les éléments suivants:
- Pourcentage de temps d'exécution passé entre l'adresse de ce symbole et l'adresse de la prochaine
- Nombre de fois où cette fonction a été appelée
- Nombre moyen de millisecondes par appel
La commande prof interprète les données de profil collectées par la sous-routine monitor () pour le fichier objet (a.out par défaut), lit la table des symboles dans le fichier objet et la met en corrélation avec le fichier de profil (mon.out par défaut) généré par la sous-routine monitor () . Un rapport d'utilisation est envoyé au terminal ou peut être redirigé vers un fichier.
Par défaut, le rapport affiché est trié par pourcentage décroissant de temps UC. Il s'agit de la même chose que lors de la spécification de l'option -t .
L'option -c trie par nombre décroissant d'appels et l'option -n trie par ordre alphabétique par nom de symbole.
Si l'option -s est utilisée, un fichier récapitulatif mon.sum est généré. Cela est utile lorsque plusieurs fichiers de profil sont spécifiés avec l'option -m (l'option -m indique les fichiers contenant les données du moniteur).
L'option -z inclut tous les symboles, même si aucun appel et aucune heure ne sont associés.
D'autres options sont disponibles et expliquées dans la commande prof dans le document Files Reference.
# cc -o cwhet -p -lm cwhet.c
# cwhet > cwhet.out
# prof
Name %Time Seconds Cumsecs #Calls msec/call
.main 32.6 17.63 17.63 1 17630.
.__mcount 28.2 15.25 32.88
.mod8 16.3 8.82 41.70 8990000 0.0010
.mod9 9.9 5.38 47.08 6160000 0.0009
.cos 2.9 1.57 48.65 1920000 0.0008
.exp 2.4 1.32 49.97 930000 0.0014
.log 2.4 1.31 51.28 930000 0.0014
.mod3 1.9 1.01 52.29 140000 0.0072
.sin 1.2 0.63 52.92 640000 0.0010
.sqrt 1.1 0.59 53.51
.atan 1.1 0.57 54.08 640000 0.0009
.pout 0.0 0.00 54.08 10 0.0
.exit 0.0 0.00 54.08 1 0.
.free 0.0 0.00 54.08 2 0.
.free_y 0.0 0.00 54.08 2 0.