Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Problème de performance.

0 views
Skip to first unread message

Richard Delorme

unread,
Nov 13, 2009, 3:57:12 PM11/13/09
to
Bonjour,

Je suis l'auteur d'un programme d'othello, disponible ici (y compris le
code source) :
http://abulmo.perso.neuf.fr/edax/4.0.beta/index.htm
Ce programme est �crit en C99 de fa�on relativement portable et compile
sous Linux, Mac OSX et MS-Windows (test� sous Vista 64 bits et Windows 7
64 bits). D'une mani�re assez curieuse, que je ne m'explique pas, les
performances sous Windows sont tr�s en retrait par rapport aux autres
OS, avec une baisse de performance de l'ordre de 30%. J'ai test�
plusieurs compilateurs dont Visual C++ 2008 et 2010 (b�ta), Mingw64, C
Pelles, PGO (Portland Group),... sans am�lioration notable (Visual C++
et gcc sont assez proche, les autres compilateurs sont plus
significativement plus lents).
D'apr�s mes investigations, il semblerait que MS-Windows soit
comparativement assez lent au niveau des Entr�es/sorties, mais mon
programme n'est pas tr�s bavard. Pour se chronom�trer, il utilise et
surveille fr�quemment GetTickCount(), mais j'ai cru comprendre que cette
fonction �tait plut�t rapide. Le programme est aussi multit�che et peut
faire appel aux fonctions multit�ches natives de Windows et utilise
assez souvent les CRITICAL_SECTION. Quelqu'un aurait-t-il une id�e de
l'impact de ces sections critiques sur les performances �ventuelles du
programme ?
Ou une autre id�e qui pourrait expliquer cette baisse de performance
assez importante ?

PS: Si vous voulez tester le programme, il suffit de taper dans une
console :
wEdax -l 60 -h 24 -n <x> -solve problem/fforum-40-59.scr.
en rempla�ant <x> par le nombre de CPU/cores que vous d�sirer allouer au
programme.
Sous Linux remplacer wEdax par lEdax et sous Mac OS X par mEdax.
Avec un QuadCore Q6600 � 2.4Ghz, <x> remplac� par 4, le programme met
pr�s de 13 min. sous Windows et moins de 9 minutes sous Linux.

--
Richard

nico

unread,
Nov 14, 2009, 5:51:58 AM11/14/09
to
Richard Delorme wrote:
> Bonjour,
>
> Je suis l'auteur d'un programme d'othello, disponible ici (y compris le
> code source) :
> http://abulmo.perso.neuf.fr/edax/4.0.beta/index.htm
> Ce programme est �crit en C99 de fa�on relativement portable et compile
> sous Linux, Mac OSX et MS-Windows (test� sous Vista 64 bits et Windows 7
> 64 bits). D'une mani�re assez curieuse, que je ne m'explique pas, les
> performances sous Windows sont tr�s en retrait par rapport aux autres
> OS, avec une baisse de performance de l'ordre de 30%. J'ai test�
> plusieurs compilateurs dont Visual C++ 2008 et 2010 (b�ta), Mingw64, C
> Pelles, PGO (Portland Group),... sans am�lioration notable (Visual C++
> et gcc sont assez proche, les autres compilateurs sont plus
> significativement plus lents).

Pour Visual, tu as test� les diff�rents flags genre /O2 pour
l'optimisation ?
Il y a divers articles sur MSDN comme
http://msdn.microsoft.com/fr-fr/library/aa289168(VS.71).aspx
http://msdn.microsoft.com/en-us/library/aa289170(VS.71).aspx

Richard Delorme

unread,
Nov 16, 2009, 11:59:12 AM11/16/09
to
Le 14/11/2009 11:51, nico a �crit :

> Richard Delorme wrote:
>> Je suis l'auteur d'un programme d'othello [...]


>> D'une mani�re assez curieuse, que je ne m'explique pas, les performances sous Windows sont tr�s en retrait par rapport aux autres OS, avec une baisse de performance de l'ordre de 30%.
>

> Pour Visual, tu as test� les diff�rents flags genre /O2 pour l'optimisation ?

Oui. Je me contente actuellement de /Ox /GL. J'ai essay� de jouer avec
d'autres r�glages, mais sans b�n�fice notable.

Le PGO (deuxi�me lien) n'apporte pas non plus d'am�lioration mesurable
(avec les autres OS non plus d'ailleurs).

Je ne pense pas que le probl�me soit au niveau des options de
compilation. Entre autre parce qu'avec le m�me compilateur (gcc) et les
m�mes options, j'obtiens des r�sultats plut�t d�cevants sous Windows par
rapport � Linux ou Mac OS X. Je m'orienterais plus vers des fonctions
de la biblioth�ques aux performances diff�rentes, ou encore, � des
particularit�s de l'OS incompatible avec mon approche du programme.

Merci n�anmoins de votre r�ponse.

--
Richard

marc

unread,
Nov 16, 2009, 1:09:59 PM11/16/09
to
On 13 nov, 21:57, Richard Delorme <abu...@nospam.fr> wrote:
> Le programme est aussi multitâche et peut
> faire appel aux fonctions multitâches natives de Windows et utilise
> assez souvent les CRITICAL_SECTION. Quelqu'un aurait-t-il une idée de
> l'impact de ces sections critiques sur les performances éventuelles du
> programme ?

D'après les vieilles docs
(comme http://msdn.microsoft.com/en-us/library/ms810434.aspx )
les sections critiques sont pourtant apparemment rapides..

0 new messages