Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1253 connectés 

  FORUM HardWare.fr
  Programmation
  C

  Optimiser l'utilisation du CPU

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Optimiser l'utilisation du CPU

n°1105283
Shabang
Posté le 02-06-2005 à 13:07:09  profilanswer
 

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
mood
Publicité
Posté le 02-06-2005 à 13:07:09  profilanswer
 

n°1105295
manatane
En vous remerciant, bonsoir
Posté le 02-06-2005 à 13:21:08  profilanswer
 

Citation :

Que me conseillez vous comme bon memory-leak tracer sous UNIX


valgrind, purify

n°1105304
ToxicAveng​er
Posté le 02-06-2005 à 13:30:05  profilanswer
 

purify :o

n°1105353
Shabang
Posté le 02-06-2005 à 14:12:00  profilanswer
 

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 :

Citation :

Que me conseillez vous comme bon memory-leak tracer sous UNIX


valgrind, purify


merci, je vais regarder ca ;)


---------------
gnature gnature gnature gnature gnature gnature
n°1105424
Taz
bisounours-codeur
Posté le 02-06-2005 à 14:51:48  profilanswer
 

gprof et gcov également

n°1106334
Emmanuel D​elahaye
C is a sharp tool
Posté le 02-06-2005 à 23:36:10  profilanswer
 

Shabang a écrit :

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)?


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


Message édité par Emmanuel Delahaye le 02-06-2005 à 23:38:16

---------------
Des infos sur la programmation et le langage C: http://www.bien-programmer.fr Pas de Wi-Fi à la maison : http://www.cpl-france.org/
n°1106402
Shabang
Posté le 03-06-2005 à 04:38:06  profilanswer
 

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


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)
    run(app);


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  :ange:  

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.


---------------
gnature gnature gnature gnature gnature gnature

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C

  Optimiser l'utilisation du CPU

 

Sujets relatifs
problème de DOCTYPE pour utilisation de CSS et DHTMLUtilisation du cache
[RESOLU] [PHP] Utilisation de 2 BDD dans la meme pageutilisation d'un composant JProgressBar
FreeImage et utilisation de BDE borland c++Utilisation de la fonction CopyFile en vbs
Comment optimiser la taille des pages web en fonction de la resolutionUtilisation d'un objet dans une classe ?
Aide pour Optimiser requête SQL[VB.NET] Impact performance de l'utilisation de microsoft.visualbasic
Plus de sujets relatifs à : Optimiser l'utilisation du CPU


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR