Dev prog core duo, utilisation proc 50% core duo :x

Signaler
Messages postés
7
Date d'inscription
dimanche 8 juin 2003
Statut
Membre
Dernière intervention
24 avril 2006
-
Messages postés
3212
Date d'inscription
lundi 7 novembre 2005
Statut
Membre
Dernière intervention
16 février 2009
-
salut a tous,

j'ai un portable sony core duo T2300 et lorsque je fais tourner un
programme developpe par moi qui demande de gros calcul processeur il
sature a 50% et les procs inactif eux aussi a 50%.


alors que si je fais tourner ce meme programme sur un mono core il prend bien 100% de ressource.
sur
le core duo il ne prend pas 50% parce qu il n'a besoin que de 50% car
si je compare le temps total de calcul sur le core duo c super plus
long que sur le mono core .


voila je ne vois pas pourquoi cela fais ca.

pour info c un programme type console d'application (juste fenetre dos), compile sous visual c++ 6.


merci d'avance de vos reponse

5 réponses

Messages postés
694
Date d'inscription
lundi 5 décembre 2005
Statut
Membre
Dernière intervention
8 janvier 2014
15
Ton compilateur ne doit etre pas adapté à la programmation bicoeur. Il ne sait pas partager le travail en les deux unités de calcul. Normalement les programmes qui vont sortir pour les bicoeurs devront etre estampillé UNIVERSAL. Le compilateur devra surement l'être aussi.
Messages postés
3212
Date d'inscription
lundi 7 novembre 2005
Statut
Membre
Dernière intervention
16 février 2009
15
Eumm... je me trompe peut-être mais on peut pas répartir le travail avec les thread??? Je dis ça comme ça car je sais pas comment faire.

___________________________________________
Les plus grands esprits trouvent toujours une solution
Messages postés
3212
Date d'inscription
lundi 7 novembre 2005
Statut
Membre
Dernière intervention
16 février 2009
15
Je sais pas comment diviser le travail sur les 2 coeurs je veux dire...

___________________________________________
Les plus grands esprits trouvent toujours une solution
Messages postés
694
Date d'inscription
lundi 5 décembre 2005
Statut
Membre
Dernière intervention
8 janvier 2014
15
Le compilateur doit ensuite savoir traiter instruction d'une certaine maniere puisqu'il faut qu'il repartisse le travail sur les deux coeurs, une sorte de parralellisme. Au depart un scheduler leur donne chacun un peu de travail. Ils le font chacun dans leur coin. Et quand chacun a fini son bout de calcul, ils se rejoignent pour effectuer la synthèse de leur travaux. Puis ils se separent à nouveau pour effectuer leur petit calcul suivant, et ainsi de suite...A mon avis c'est comme ça que les programmes vont vraiment tirer profit des deux coeurs.

Si on utilise deux thread et qu'on reparti un sur chaque coeur. Ca pourrait marcher mais, si un thread est plus lent que l'autre. y'en a un qui se tournera les pouces pendant que l'autre pedalera comme un deraté.
Messages postés
3212
Date d'inscription
lundi 7 novembre 2005
Statut
Membre
Dernière intervention
16 février 2009
15
Alors ce que tu me dit c'est que c'est le compilateur qui s'occupe de ça??? Et bien il faut vite qu'il aille télécharger Visual Studio 2005 Express avant qu'elle ne soit plus gratuite.

___________________________________________
Les plus grands esprits trouvent toujours une solution