[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: compiler avec ICC



2008/12/11 Basile STARYNKEVITCH <basile@starynkevitch.net>:
> Revolver Onslaught wrote:
>>
>> L'utilisation de -O3 est à proscrire depuis GCC-4.3 (j'avais trouvé par
>> Google
>>  à l'époque où j'étais sur Gentoo. Je n'ai plus le lien)
>>
>
> A mon avis, c'est faux. -O3 fonctionne bien sur du code qui suit très
> précisément les normes. Et par expérience, ça fonctionne bien sur un grand
> nombre de logiciels libres (comme emacs, make, bash, ...). Essaies donc de
> recompiler ton application actuelle avec un gcc récent (4.3) en -O3!
>>

"Using -O3 is not recommended for gcc 4.x."
(http://www.gentoo.org/doc/en/gcc-optimization.xml)
A tester, effectivement.

>>
>>>
>>> * il faut comparer les compilateurs, mais généralement (il y a évidemment
>>> des exceptions) les performances varieront peu (moins de 10%, et souvent
>>> moins de 3%) d'un compilateur à un autre
>>>
>>
>> DAns mon cas, même 3% est toujours intéressant à prendre. ;o)
>>
>> Mon système est un serveur postfix amélioré. Plus clairement, nous
>> disposons
>> de plusieurs dizaines de serveurs. Nous avons gagné plus de 30 points CPU
>> sur
>>  un ClamAV compilé avec ICC par rapport à la version compilée avec GCC.
>> Bien que ClamAV ne soit pas appellé la major partie du temps, ces quelques
>> points de CPU gagnés ici et là nous amènent à économiser des machines.
>
> J'ai quand même du mal à comprendre la réalité économique de la chose.
> Imaginons que tu passes une semaine à peaufiner la compilation de plusieurs
> logiciels pour gagner 3% (donc, si tu as un parc de 30 machines, ça
> économise une machine). J'ignore combien tu coûtes à ton employeur, mais le
> chiffre usuel du coût total d'un ingénieur est 150k€ par an (c'est par
> exemple ce que facturerait une SSII; je parle bien d'un coût total, pas de
> ton salaire seul!). Pour une semaine de travail, ca fait nettement plus cher
> qu'une machine. Même si tu coûtais deux fois mois cher (donc seulement
> 75k€/an) ça ne vaudrait pas forcément le coup.

Effectivement, sur 30 machines, ça vaut pas le coup, mais à notre
échelle et au prix du serveur, là, ça vaut le coup.

>
> Optimiser aussi finement (cad pour gagner quelques pourcents) n'est
> économiquement rentable que dans des cas très particuliers, où on déploie
> sur beaucoup de machines (cad des milliers), ou bien où on a une application
> très gourmande sur des très grosses machines.

C'est la cas. Clam est consommateur et les machines sont des bêtes de course.

>
> Le cas extrême, c'est Google (dont la taille du parc est tenu secret, mais
> on parle de centaines de milliers). Là, augmenter de quelques pouillèmes les
> performances de GCC justifie (et c'est le cas chez Google) des équipes de
> plus d'une dizaine de développeurs extrêmement qualifiés travaillant sur GCC
> (et aussi binutils), notamment Diego Novillo & Ian Taylor.
>
> Mais j'aurais tendance à penser que si ton management te demande de passer
> une semaine à optimiser clamav pour seulement 30 machines (et donc dans
> l'espoir d'en gagner tout au plus une seule), ce n'est pas un très bon
> management. En plus, il pourrait être possible qu'un simple changement de
> configuration (au sens sysadmin) fasse l'affaire.
>
> Si tu as le temps, racontes nous tes résultats d'optimisation, en terme de
> gains de performances. Et si tu utilises GCC, n'oublies pas d'en prendre une
> version récente: GCC 4.3 optimise bien mieux que 4.0 ou 3.4!

Pas de soucis et merci.

>
> Cordialement
>
> --
> Basile STARYNKEVITCH         http://starynkevitch.net/Basile/
> email: basile<at>starynkevitch<dot>net mobile: +33 6 8501 2359
> 8, rue de la Faiencerie, 92340 Bourg La Reine, France
> *** opinions {are only mines, sont seulement les miennes} ***
> membre de l'APRIL "promouvoir et défendre le logiciel libre"
> Rejoignez maitenant pplus de 3500 adhérents http://www.april.org
>
>


Reply to: