Infos sur son programme, sous unix.

Résolu
kaervas Messages postés 51 Date d'inscription vendredi 25 novembre 2005 Statut Membre Dernière intervention 19 avril 2008 - 9 janv. 2006 à 09:51
katsankat Messages postés 571 Date d'inscription vendredi 30 décembre 2005 Statut Membre Dernière intervention 12 juillet 2012 - 12 janv. 2006 à 12:28
Bonjour.
J'essaie d'optimiser mes programmes, sous unix, mais je ne connais pas les moyens, ou commandes, pour avoir des infos sur son execution, exemple:

sa vitesse d'execution (en cycle machine)
son utilisation de memoire
ce qui reste en memoire apres son execution (fuite ou non free)

merci d'avance si vous pouviez m'indiquer comment avoir ces infos, ou pourquoi pas d'autres si c'est possible de savoir d'autres choses utiles sur un prog.

8 réponses

katsankat Messages postés 571 Date d'inscription vendredi 30 décembre 2005 Statut Membre Dernière intervention 12 juillet 2012 3
10 janv. 2006 à 09:32
Pour la mémoire essayes la commande ps u ou ps aux et man ps.

Pour ce qui reste en mémoire, je crois me souvenir qu'un membre de
cppfrance avait fait un programme qui scanne les fichiers source pour
identifier les oublis de free() et autres fuites.



Pour la vitesse tu peux vérifier en interne dans le code avec la fonction TickCount()
la fonction retourne un entier long non signé: le nombre de cycles
écoulés depuis le boot. Avec une soustraction tu peux déterminer un
intervalle de temps entre deux instants.
3
katsankat Messages postés 571 Date d'inscription vendredi 30 décembre 2005 Statut Membre Dernière intervention 12 juillet 2012 3
11 janv. 2006 à 10:50
Salut,
fais une recherche sur la fonction clock() et la structure clock_t tous deux définis dans <time.h>.
http://www.delorie.com/gnu/docs/glibc/libc_430.html

Aussi j'avais oublié la commande free pour la mémoire, elle affiche pas mal d' infos.
3
kaervas Messages postés 51 Date d'inscription vendredi 25 novembre 2005 Statut Membre Dernière intervention 19 avril 2008
11 janv. 2006 à 10:24
Merci pour ta reponse,
Je ne code qu'en C et a priori il ne connait pas de TickCount ..
0
katsankat Messages postés 571 Date d'inscription vendredi 30 décembre 2005 Statut Membre Dernière intervention 12 juillet 2012 3
11 janv. 2006 à 10:51
(définis dans time.h ça passe pas avec les brackets lol)
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
kaervas Messages postés 51 Date d'inscription vendredi 25 novembre 2005 Statut Membre Dernière intervention 19 avril 2008
11 janv. 2006 à 12:17
ok merci clock marche impec ^^
par contre un cycle cpu ca a l'air assez long parceque sur les petits progs ca tourne autour de 0 ..
et pour free j'ai pas trouve
0
katsankat Messages postés 571 Date d'inscription vendredi 30 décembre 2005 Statut Membre Dernière intervention 12 juillet 2012 3
11 janv. 2006 à 12:37
free est une commande console.
0
kaervas Messages postés 51 Date d'inscription vendredi 25 novembre 2005 Statut Membre Dernière intervention 19 avril 2008
11 janv. 2006 à 12:46
Oui c'est que j'avais teste sous netbsd, qui apparement ne la connait pas,
mais je viens de tester sous debian et ca marche,
okay thanx =)
0
katsankat Messages postés 571 Date d'inscription vendredi 30 décembre 2005 Statut Membre Dernière intervention 12 juillet 2012 3
12 janv. 2006 à 12:28
Salut, pour plus de précision sur le timer regardes
queryperformancecounter() qui permet de mesurer moins qu'une
milliseconde, de l' ordre de la microseconde je crois (10 exposant -6
s).



Dommage qu'il n'y ait pas plus de réponses car la question est
intéressante. Yaka reposer la question en remplaçant le mot unix par
windows.
0
Rejoignez-nous