NewbieContest

Programmation => Langages compilés => Discussion démarrée par: LeHuron le 09 Avril 2007 à 03:29:16



Titre: [C++]Limiter la charge CPU d'un programme tournant sur win
Posté par: LeHuron 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 ? =D

Merci d'avance.


Titre: [C++]Limiter la charge CPU d'un programme tournant sur win
Posté par: zours le 09 Avril 2007 à 04:08:30
Baisse sa priorité, tout simplement.


Titre: [C++]Limiter la charge CPU d'un programme tournant sur win
Posté par: Invit 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 :rolleyes:) 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..


Titre: [C++]Limiter la charge CPU d'un programme tournant sur win
Posté par: Zmx le 09 Avril 2007 à 17:12:51
rajoute un sleep(500) dans ta boucle :twisted:


Titre: [C++]Limiter la charge CPU d'un programme tournant sur win
Posté par: Alexandre le 18 Mai 2007 à 09:28:55
http://www.securiteinfo.net/cgi-bin/dc/topics.cgi?op=view_topic;cat=faq;id=190


Titre: [C++]Limiter la charge CPU d'un programme tournant sur win
Posté par: LeHuron le 18 Mai 2007 à 10:03:15
T'assures alexandre ;)


Titre: [C++]Limiter la charge CPU d'un programme tournant sur win
Posté par: Alexandre le 18 Mai 2007 à 10:10:24
Merci ;)


Titre: [C++]Limiter la charge CPU d'un programme tournant sur win
Posté par: Zapa666 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.

:?


Titre: [C++]Limiter la charge CPU d'un programme tournant sur win
Posté par: Alexandre 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.

@+