Optimiser l'utilisation du CPU - C - Programmation
Marsh Posté le 02-06-2005 à 13:21:08
Citation : Que me conseillez vous comme bon memory-leak tracer sous UNIX |
valgrind, purify
Marsh Posté le 02-06-2005 à 14:12:00
Pour l'utilisation CPU, je pense que ca vient du fait que le programme a certains moments, ne fait strictement rien, mais continue tout de meme a boucler... je devrais pouvoir m'en sortir avec un sleep, ou quelque chose du genre.
manatane a écrit :
|
merci, je vais regarder ca
Marsh Posté le 02-06-2005 à 23:36:10
Shabang a écrit : existe-t-il un moyen en C pour eviter d'utiliser le CPU a fond lorsque l'application est lancee? |
C'est clair qu'une boucle infinie 'blanche', c'est à dire sans suspension, c'est pas ce qu'on fait de mieux dans le genre programmation coopérative... Heureusement que les interruptions, et notamment celles du time-slicing (Linux, Windows 9x/NT) continuent à faire avancer le monde, sinon, ce serait le blocage définitif (comme sous MS-DOS), ou Windows 3.x. C'était le bon temps...
Un programme 'civilisé' ne doit pas faire de boucles de plus de quelques millisecondes (au pif). Il faut donc le suspendre de temps en temps pour que les autres processus puissent récupérer le CPU aussi...
La programmation multitâche, c'est pas du bricolage... C'est un métier...
Quand aux fuites mémoires éventuelles, elles n'ont rien à voir avec l'occupation du CPU... Ca concerne plutôt les ressources...
Marsh Posté le 03-06-2005 à 04:38:06
Emmanuel Delahaye a écrit : C'est clair qu'une boucle infinie 'blanche', c'est à dire sans suspension, c'est pas ce qu'on fait de mieux dans le genre programmation coopérative... Heureusement que les interruptions, et notamment celles du time-slicing (Linux, Windows 9x/NT) continuent à faire avancer le monde, sinon, ce serait le blocage définitif (comme sous MS-DOS), ou Windows 3.x. C'était le bon temps... |
Pardon j'ai du mal m'exprimer, je parlais d'une boucle infinie qu'on peut trouver dans un jeu ou un daemon par exemple. Du genre:
while (app.alive) |
Mon truc est resolu, le select n'etait pas temporise intelligemment, mais je suis curieux de savoir comment proceder dans le cas d'un jeu ou d'une appli graphique basee sur des animations.
Citation : La programmation multitâche, c'est pas du bricolage... C'est un métier... |
J'avoue que jusqu'a pas longtemps je codais sur un systeme prehistorique, donc le partage des ressources c'est un peu nouveau pour moi. Par contre le bricolage j'evite
Citation : Quand aux fuites mémoires éventuelles, elles n'ont rien à voir avec l'occupation du CPU... Ca concerne plutôt les ressources... |
Oui oui je m'en suis rendu compte apres avoir poste
de toutes facons les reponses d'apres m'ont ete utiles.
Marsh Posté le 02-06-2005 à 13:07:09
Bonjours,
existe-t-il un moyen en C pour eviter d'utiliser le CPU a fond lorsque l'application est lancee?
D'ailleurs quelles peuvent etre les causes de ce phenomene? (en fait l'appli occupe 25% au depart, puis ca augmente lentement jusqu'a atteindre ~ 98%, le code etant volontairement enferme dans une boucle infinie)
Ca peut venir d'un leak de memoire? Que me conseillez vous comme bon memory-leak tracer sous UNIX (j'en ai besoin d'un de toutes facons)?
Merci d'avance
Message édité par Shabang le 02-06-2005 à 13:08:39
---------------
gnature gnature gnature gnature gnature gnature