« d'après mes propres tests non scientifiques et à mon humble avis, ICC n'a rien d'exceptionnel. »
Tout dépend quels programmes tu fais tourner. L'utilisation d'IPO (inter-process optimization) est quand même un super booster de performances. Je ne parle pas de 50% d'accélération (même si ça peut arriver), mais même avec 20%, c'est déjà exceptionnel.
Lorsqu'en plus tu utilises des logiciels qui sont plutôt du genre à boucler 90% du temps sur une boucle avec des codes réguliers (en gros du code « scientifique »), l'utilisation de -O3 et -ipo fait vraiment des merveilles. Tu peux gagner 40% en vitesse d'exécution par rapport à gcc 3 ou 4 en -O3.
Maintenant, je te l'accorde, pour la plupart des codes concernant le noyau, on s'en fout. Mais pour des codes concernant des flux multimédia, etc., ça peut jouer énormément. Idem pour les codes faisant entrer tout plein de calculs en jeu (calcul 3D, analyse numérique, etc).
Concernant les codes irréguliers, ICC se débrouille beaucoup moins bien, mais reste encore bien au-dessus de GCC.
« Surtout sur les systèmes AMD et sur ceux ayant une ou deux années de vie. »
Bon, je suppose que tu sais que ICC = Intel C Compiler. Ca ne me surprend pas outre mesure que les optimisations soient bien meilleures sur architecture Intel. D'ailleurs, si je me souviens bien, il est fortement déconseillé d'utiliser ICC avec un processeur AMD sous peine d'avoir des applications qui pourraient planter à cause de certaines optimisations effectuées par ICC et qui ne peuvent être faites que sur des archis Intel, parce qu'il y a quand même certaines grosses différences au niveau du modèle de processeur, tout ia32 qu'ils soient chez Intel et AMD. Et oui, ICC utilise très certainement des fonctionnalités non documentées des procs d'Intel.
« Par ailleurs, l'interêt que j'ai pour Gentoo vient plus de sa "hackabilité" que de ses performances. »
Possible, mais le titre du fil est « Performances de Gentoo ». Et je répondais sur ce critère uniquement.
Tu l'as dit, tes tests sont non-scientifiques, et il s'agit de ton avis. Ben il est à revoir, dès lors qu'on parle d'applications mettant beaucoup la pression sur le micro-processeur (et bien sûr, en supposant qu'il s'agisse d'un proc Intel, ce qui fait beaucoup de paramètres à prendre en compte, j'en suis conscient).
Mon objectif dans mon post initial était surtout de bien mettre l'accent sur le fait que
1) Des « distributions » source, ça existe depuis un moment (c'est plus ou moins la norme chez les *BSD), et si effectivement parfois ça peut se révéler un bon point pour les perfs, globalement c'est absolument pas concluant pour le système en général ; je pense aussi à LFS, dans le genre « [meta-]distributions source » ; dans tous les cas, je n'ai jamais entendu ceux qui s'en servaient dire « comme ça je peux vraiment gagner en performances », à quelques exceptions près pour certains programmes très précis.
2) GCC n'est pas encore au niveau des bons compilateurs optimisants, et parmi eux, ICC est vraiment l'un des meilleurs. Donc les optimisations proposées par GCC commencent à peine à avoir un « sens » (il suffit de mater comment les gens de chez MPlayer ont configuré le makefile pour comprendre qu'ils ne font pas vraiment confiance à GCC). Cela dit j'espère très fortement que ça va arriver !
Je ne suis pas du tout anti-GCC, je suis anti-jacky-distrib-linux, et franchement, beaucoup de gens utilisant Gentoo m'ont donné cette impression (ce sont les mêmes qui mettent en avant le côté performances avant les avantages que tu abordes, qui sont cent fois plus importants).
[^] # Re: Performances de Gentoo
Posté par lasher . En réponse à la dépêche Gentoo 2006.1 est prête !. Évalué à 3.
Tout dépend quels programmes tu fais tourner. L'utilisation d'IPO (inter-process optimization) est quand même un super booster de performances. Je ne parle pas de 50% d'accélération (même si ça peut arriver), mais même avec 20%, c'est déjà exceptionnel.
Lorsqu'en plus tu utilises des logiciels qui sont plutôt du genre à boucler 90% du temps sur une boucle avec des codes réguliers (en gros du code « scientifique »), l'utilisation de -O3 et -ipo fait vraiment des merveilles. Tu peux gagner 40% en vitesse d'exécution par rapport à gcc 3 ou 4 en -O3.
Maintenant, je te l'accorde, pour la plupart des codes concernant le noyau, on s'en fout. Mais pour des codes concernant des flux multimédia, etc., ça peut jouer énormément. Idem pour les codes faisant entrer tout plein de calculs en jeu (calcul 3D, analyse numérique, etc).
Concernant les codes irréguliers, ICC se débrouille beaucoup moins bien, mais reste encore bien au-dessus de GCC.
« Surtout sur les systèmes AMD et sur ceux ayant une ou deux années de vie. »
Bon, je suppose que tu sais que ICC = Intel C Compiler. Ca ne me surprend pas outre mesure que les optimisations soient bien meilleures sur architecture Intel. D'ailleurs, si je me souviens bien, il est fortement déconseillé d'utiliser ICC avec un processeur AMD sous peine d'avoir des applications qui pourraient planter à cause de certaines optimisations effectuées par ICC et qui ne peuvent être faites que sur des archis Intel, parce qu'il y a quand même certaines grosses différences au niveau du modèle de processeur, tout ia32 qu'ils soient chez Intel et AMD. Et oui, ICC utilise très certainement des fonctionnalités non documentées des procs d'Intel.
« Par ailleurs, l'interêt que j'ai pour Gentoo vient plus de sa "hackabilité" que de ses performances. »
Possible, mais le titre du fil est « Performances de Gentoo ». Et je répondais sur ce critère uniquement.
Tu l'as dit, tes tests sont non-scientifiques, et il s'agit de ton avis. Ben il est à revoir, dès lors qu'on parle d'applications mettant beaucoup la pression sur le micro-processeur (et bien sûr, en supposant qu'il s'agisse d'un proc Intel, ce qui fait beaucoup de paramètres à prendre en compte, j'en suis conscient).
Mon objectif dans mon post initial était surtout de bien mettre l'accent sur le fait que
1) Des « distributions » source, ça existe depuis un moment (c'est plus ou moins la norme chez les *BSD), et si effectivement parfois ça peut se révéler un bon point pour les perfs, globalement c'est absolument pas concluant pour le système en général ; je pense aussi à LFS, dans le genre « [meta-]distributions source » ; dans tous les cas, je n'ai jamais entendu ceux qui s'en servaient dire « comme ça je peux vraiment gagner en performances », à quelques exceptions près pour certains programmes très précis.
2) GCC n'est pas encore au niveau des bons compilateurs optimisants, et parmi eux, ICC est vraiment l'un des meilleurs. Donc les optimisations proposées par GCC commencent à peine à avoir un « sens » (il suffit de mater comment les gens de chez MPlayer ont configuré le makefile pour comprendre qu'ils ne font pas vraiment confiance à GCC). Cela dit j'espère très fortement que ça va arriver !
Je ne suis pas du tout anti-GCC, je suis anti-jacky-distrib-linux, et franchement, beaucoup de gens utilisant Gentoo m'ont donné cette impression (ce sont les mêmes qui mettent en avant le côté performances avant les avantages que tu abordes, qui sont cent fois plus importants).