logo Homepage
Pages: [1]
  Imprimer  
Auteur Fil de discussion: [C++]Limiter la charge CPU d'un programme tournant sur win  (Lu 5634 fois)
LeHuron

Profil challenge

Classement : 1952/54329

Néophyte
*
Hors ligne Hors ligne
Messages: 11


Voir le profil
« le: 09 Avril 2007 à 03:29:16 »

Salut,

Je suis en train de faire un **No Sms** programme en C++ destiné à tourner sur une machine windows. Il doit gérer des calculs assez lourds. Je voudrais donc limiter sa charge CPU pour pouvoir continuer à utiliser mon PC pendant le calcul.
Je cherche à limiter la charge en dur (50% par exemple) et pas seulement à diminuer la priorité du processus d'execution.

Quelqu'un pourrait-il m'aiguiller vers une solution élégante ?

Merci d'avance.
Journalisée

_____________________________________
-Les pirates chassés, le commerce restauré.-
Devise des Bahamas
zours

Profil challenge

Classement : 553/54329

Membre Héroïque
*****
Hors ligne Hors ligne
Messages: 811


Voir le profil
« #1 le: 09 Avril 2007 à 04:08:30 »

Baisse sa priorité, tout simplement.
Journalisée
Invit
Invité
« #2 le: 09 Avril 2007 à 06:42:42 »

J'avoue avoir du mal à comprendre le sens exact de la question, si tu veux que ton CPU soit moins chargé il s'agit effectivement de diminuer la priorité d'exécution de ton processus, je vois pas comment sinon...
Hmm.. Je veux dire il s'agit pas d'allouer 20% de charge processeur à ton programme quoi, tu peux seulement définir la priorité, cf le multi-threading
http://bob.developpez.com/tutapiwin/article_48.php
http://www.dil.univ-mrs.fr/~gispert/enseignement/coursSysteme/AllocProcesseur.php
(Si ça peut aider...)

Mis à part ça, je vois rien d'autres hormis optimiser ton code le plus possible (optimiser du C++, erf.. c't'un vrai concept ) et/ou distribuer les calculs entre plusieurs machines, ce qui à défaut de décharger ton processeur permettra au moins de terminer la tache plus vite.
Evidement ça implique un temps de développement supplémentaire et non négligeable..
Journalisée
Zmx

Profil challenge

Classement : 71/54329

Membre Héroïque
*****
Hors ligne Hors ligne
Messages: 559


Voir le profil WWW
« #3 le: 09 Avril 2007 à 17:12:51 »

rajoute un sleep(500) dans ta boucle
Journalisée

Alexandre

Profil challenge

Classement : 925/54329

Néophyte
*
Hors ligne Hors ligne
Messages: 8


Voir le profil
« #4 le: 18 Mai 2007 à 09:28:55 »

http://www.securiteinfo.net/cgi-bin/dc/topics.cgi?op=view_topic;cat=faq;id=190
Journalisée
LeHuron

Profil challenge

Classement : 1952/54329

Néophyte
*
Hors ligne Hors ligne
Messages: 11


Voir le profil
« #5 le: 18 Mai 2007 à 10:03:15 »

T'assures alexandre
Journalisée

_____________________________________
-Les pirates chassés, le commerce restauré.-
Devise des Bahamas
Alexandre

Profil challenge

Classement : 925/54329

Néophyte
*
Hors ligne Hors ligne
Messages: 8


Voir le profil
« #6 le: 18 Mai 2007 à 10:10:24 »

Merci
Journalisée
Zapa666

Profil challenge

Classement : 2044/54329

Néophyte
*
Hors ligne Hors ligne
Messages: 29


Voir le profil
« #7 le: 19 Mai 2007 à 16:25:35 »

Huh, moi le lien d'Alexandre il me donne :

Forbidden
You don't have permission to access /cgi-bin/dc/topics.cgi on this server.

Journalisée

Zapa
Alexandre

Profil challenge

Classement : 925/54329

Néophyte
*
Hors ligne Hors ligne
Messages: 8


Voir le profil
« #8 le: 19 Mai 2007 à 17:11:19 »

Cela arrive des fois.

Réésayes dans quelques heures, c'est à cause de l'hébergeur...

Par contre de chez moi ca fonctionne.

@+
Journalisée
Pages: [1]
  Imprimer  
 
Aller à: