Au moment où va sortir la nouvelle et première version "stable" de GCC version 3.1, OSNews nous propose une entrevue avec Mark Mitchel, GCC's Release Engineer (que l'on peut traduire par: ingénieur en charge de la réalisation de GCC).
On y parle de GCC 3.x, de son futur, de la compétition face aux autres compilateurs (Intel compiler v6 par ex.), des performances de la version 2.x comparées à celles de la nouvelle mouture...
À la moitié des questions qui sont du genre «est-ce que <tel bidule> va être implémenté ?», la réponse est ... «non.»
Et pour ce qui est de la comparaison avec le compilo Intel, c'est : «I do not have enough information about that compiler to comment on it.»
C'est vrai que l'interview est pourrie et ne nous apprend rien. Ils ne parlent absolument pas des nouveautés de gcc 3.1. Pour ça il vaut mieux allez voir ici : http://gcc.gnu.org/gcc-3.1/changes.html(...)
Parmi les trucs sympa (en tout cas qui m'interressent) il y a l'ajout de rmi, jndi et jta dans libgcj. En gros il ne doit plus manquer grand chose pour recompiler jboss en natif :-)
"I'm looking forward to Intel's C++ 6.0, which will, they tell me, support gcc extensions and Linux kernel compilation"
à la vue des résultats des benchs, ca peut valoir le coup d'avoir un kernel compilé avec le compilo intel. Même si c'est "closed-source", si les augmentations de perf avoisinent (même à moité seulement) celles évoquées dans le bench, ça peut être plus que tentant...
Donc, i'm looking forward moi aussi...
Reste à voir que s'il faut payer une licence pour avoir droit de le compiler, tout le monde n'aurra peut être pas ni l'envie ni les moyens.
C'est closed-source et (forcément) pas portable. Intel aurait tout intérêt à donner toutes ses spécifications aux développeurs de GCC, plutôt que de faire leur compilo fermé dans leur coin.
Les specs des CPU sont disponibles et _très_ détaillées. Simplement que faire des compilos qui les exploite c'est très difficile. Il suffit de voir quel compilateur sait faire quelque chose avec les instruction mmx, sse, ... Le compilateur d'intel apparemment est très bon, mais ils se limitent aussi à leur proc, alors que gcc compile pour bcp d'architectures. Mais bon, il faut pas cracher dans la soupe, j'aimerais bien trouver des apps comme kde compilées avec le compilo intel. Ce compilateur montre aussi à ceux qui développent gcc qu'il y a encore bcp d'améliorations possibles et ils pourront s'inspirer des optimisations faites en comparant par exemple le code assembleur généré par un gcc et un intel et voir ou intel à gagné du temps, sous quelle forme le code à été mis.
Ce genres d'optimisations sont en expérimentations dans des branches annexes, c'est d'ailleurs à ça que sert les branches. Tester d'autres concepts. Je pense notament au nouvel allocateur de registres, les optimisations au niveau TREEs (AST) au lieu du niveau RTL.
Selon un document interne a Intel (j'en ai fait partie), il y aurait du y avoir des contributions d'intel a GCC3 pour les itanium et les IA32 (le netburst).
Maintenant ca date de plus d'un an, et je ne sais pas ce qu'il s'est passé depuis...
C'est un peu OT - mais grâce a notre superbe Gwe-Gwe Beauchesne, nous venons de passer à GCC-3.1 comme compilateur par défaut dans Cooker (la distribution "unstable" de Mandrake). Il a l'air de marcher très bien ma foi, l'essentiel des packages de base a déjà été recompilé avec succès par ses soins.
Je voulais dire ça, car comme on s'est fait sévèrement chambrer avec GCC-2.96 (malgré tous les arguments), maintenant qu'on a un compilo "blessed", les gens vont être contents ? Hein... ? Comment ça, les gens ne sont jamais contents ? :-)
Comment ça, les gens ne sont jamais contents ? :-)
Pas du tout, les gens pas contents sont par définition les plus bruyants, donc ils apparaissent toujours les plus nombreux. Jamais entendu parler de la majorité silencieuse?
Personnellement, les seuls gens pas contents que je ne supportent pas sont ceux qui se plaignent du bruit.
Si moi chuis content ! je l'utilise depuis qu'il est dans cooker (deux-trois semaines ?) et j'ai eu aucun problème. C'est juste dommage qu'on ne puisse pas conserver gcc-3.0.4 en même temps, mais bon avec egcs, gcc-2.96 et gcc-3.1 ça commence déjà à faire une belle collection :P
tu as compilé KDE avec GCC 3.1 ? il y a une différence de perfs ? je crois que tous les développeurs KDE attendaient gcc 3.1 pour leur problème de linkage ou je sais plus trop koi.
sinon, j'utilise la mandrake depuis la version 6.1 et j'en suis très content... et les problèmes de compilos me passent un peu au dessus, du temps que ca marche et que ca évolue dans le bon sens, je suis content.
KDE souffre jusqu'à maintenant d'une lenteur en partie du au linkage avec les librairies dynamiques C++
En juillet dernier est donc sorti objprelink ( http://dot.kde.org/996240227/(...) ) dont le but était de vérifier que l'on pouvait réduire le temps de linkage
résultat entre 30% à 50% de diminution du temps de lancement des logiciels KDE !
Mais objprelink n'etait pas stable et constituait un galop d'essai
Avec la glibc 2.2.5 et les derniers binutils qui contiennent ld, le linkage a été grandement amélioré :
* optimizations in the dynamic linker. binaries created by recent binutils versions start up quicker due to reduced time spend on relocations.
A mon avis, si les gens de redhat sont assez malins, ils ont déjà compilé kde avec bcp d'optimisations. Avant je recompilais systèmatiquement le noyau par exemple, depuis 6 mois j'ai arrêté, j'avais remarqué que les noyaux redhat mandrake marchaient mieux que les noyaux que je recompilais des sources officielles. Le fait est que redhat et mandrake ajoutent une 50aine de patch au kernel officiel, dont les fameux préemptifs & co qui rendent l'utilisation nettement plus agréable.
J'ai testé la redhat 7.3, j'ai un duron 700, je peux te dire que kde 3 est _très_ rapide avec tout les eye candy activé (et des trucs comme liquid ajoutés). Je me demande vraiment si tu y gagnerais avec une gentoo, mais essaye :-)
Rien ne t'empêche de recompiler le noyau fourni avec ta distrib (et donc celui qui contient les patchs).
Sur la mandrake par exemple, tu installes les sources du noyau fournis sur les cd de mandrake et tu reprends le fichier /boot/config que tu copies dans /usr/src/linux/.config et tu as les mêmes options que le noyau qui est installé...
Tu peux ainsi retirés ce qui ne te plait pas.
Je suppose que RedHat doit avoir un moyen similaire.
Mais c'est vrai que je recompilais aussi presque à chaque fois mes noyaux et là, je commence à arrêter car les options par défaut sont celles que je mettais... Bien évidemment, on peut toujours retirer les pilotes/modules en trop par une recompilation...
A ce propos, je suis obligé d'ajouter un truc: Je n'ai jamais réussi à recompiler le noyau mandrake à partir des sources fournies par mandrake... Alors bon, je faisais les classiques make config, make ... est-ce qu'il fallait utiliser une autre version de gcc, un kgcc comme chez redhat, j'en sais rien, mais j'avais tjs des erreurs de compils, ça aussi c'est un peu gros :-)
Généralement je solutionne le problème avec la commande make mrproper (qui efface mieux que make clean et plus de chose aussi).
Mais ça dépend de la version (je sais que sur la 8.0 et le 2.4.3-mdk?? j'étais obligé de le faire).
En résumé voilà les commandes qui réussissent (encore hier sur le PC d'un copain, mdk 8.2) :
make mrproper
cp /boot/config /usr/src/linux/.config
make xconfig
make deps
make bzImage
make modules
make modules_install
Impossible de compiler le noyau de la 8.0 patché, avec le fameux GCC 2.96... je crois que c'est ça qui m'a fait tourner vers la slack; et maintenant j'en suis même plutot content :))
Mark Mitchel est le 'GCC's Release Manager' ce qui peut se traduire par le directeur (et pas ingenieur) des sorties (en bon franglais: des releases) de GCC.
ou comme le dit si bien google: directeur du dégagement du GCC
En effet, la nouvelle dit "GCC's Release Engineer (que l'on peut traduire par: ingénieur en charge de la réalisation de GCC).", ce qui n'est pas vraiment ça !
"to release" dans ce sens veut dire "diffuser" (ou "sortir" ou "rendre public").
"en charge de la réalisation" se dirait plutôt "implementation manager" (au fait "en charge de" est un léger anglicisme (in charge of), il vaut mieux dire "chargé de" ou "responsable de".) Et oui, "implementer" comme on le dit en français pour dire "programmer" est juste un anglicisme qui veut dire "réaliser", "mettre en oeuvre", "rendre effectif", "mettre à exécution".
# interview en bois
Posté par Vivi (site web personnel) . Évalué à 10.
À la moitié des questions qui sont du genre «est-ce que <tel bidule> va être implémenté ?», la réponse est ... «non.»
Et pour ce qui est de la comparaison avec le compilo Intel, c'est : «I do not have enough information about that compiler to comment on it.»
Super.
[^] # Re: interview en bois
Posté par Thomas Cataldo (site web personnel) . Évalué à 10.
Parmi les trucs sympa (en tout cas qui m'interressent) il y a l'ajout de rmi, jndi et jta dans libgcj. En gros il ne doit plus manquer grand chose pour recompiler jboss en natif :-)
# Complément d'information
Posté par toonsy . Évalué à 10.
En l'occurence voici un benchmark entre GCC 3.0.4 et Intel Compiler v6:
http://www.coyotegulch.com/reviews/intel_comp/intel_gcc_bench2.html(...)
[^] # Re: Complément d'information
Posté par toonsy . Évalué à 10.
http://www.coyotegulch.com/reviews/intel_comp/(...)
intel_gcc_bench2.html
[^] # Re: Complément d'information
Posté par SoWhat . Évalué à 10.
à la vue des résultats des benchs, ca peut valoir le coup d'avoir un kernel compilé avec le compilo intel. Même si c'est "closed-source", si les augmentations de perf avoisinent (même à moité seulement) celles évoquées dans le bench, ça peut être plus que tentant...
Donc, i'm looking forward moi aussi...
Reste à voir que s'il faut payer une licence pour avoir droit de le compiler, tout le monde n'aurra peut être pas ni l'envie ni les moyens.
[^] # Re: Complément d'information
Posté par Yusei (Mastodon) . Évalué à 4.
[^] # Re: Complément d'information
Posté par RB . Évalué à 10.
[^] # Re: Complément d'information
Posté par Gwenole Beauchesne . Évalué à 10.
[^] # Ca aurait du
Posté par martinc . Évalué à 10.
Maintenant ca date de plus d'un an, et je ne sais pas ce qu'il s'est passé depuis...
# OT ? Mandrake & GCC-3.1
Posté par gc (site web personnel) . Évalué à 10.
Je voulais dire ça, car comme on s'est fait sévèrement chambrer avec GCC-2.96 (malgré tous les arguments), maintenant qu'on a un compilo "blessed", les gens vont être contents ? Hein... ? Comment ça, les gens ne sont jamais contents ? :-)
[^] # Re: OT ? Mandrake & GCC-3.1
Posté par imr . Évalué à 0.
Pas du tout, les gens pas contents sont par définition les plus bruyants, donc ils apparaissent toujours les plus nombreux. Jamais entendu parler de la majorité silencieuse?
Personnellement, les seuls gens pas contents que je ne supportent pas sont ceux qui se plaignent du bruit.
[^] # Re: OT ? Mandrake & GCC-3.1
Posté par Troy McClure (site web personnel) . Évalué à 10.
[^] # Re: OT ? Mandrake & GCC-3.1
Posté par Gwenole Beauchesne . Évalué à 10.
[^] # Re: OT ? Mandrake & GCC-3.1
Posté par Cyprien (site web personnel) . Évalué à 6.
sinon, j'utilise la mandrake depuis la version 6.1 et j'en suis très content... et les problèmes de compilos me passent un peu au dessus, du temps que ca marche et que ca évolue dans le bon sens, je suis content.
[^] # Re: OT ? Mandrake & GCC-3.1
Posté par tanguy_k (site web personnel) . Évalué à 9.
KDE souffre jusqu'à maintenant d'une lenteur en partie du au linkage avec les librairies dynamiques C++
En juillet dernier est donc sorti objprelink ( http://dot.kde.org/996240227/(...) ) dont le but était de vérifier que l'on pouvait réduire le temps de linkage
résultat entre 30% à 50% de diminution du temps de lancement des logiciels KDE !
Mais objprelink n'etait pas stable et constituait un galop d'essai
Avec la glibc 2.2.5 et les derniers binutils qui contiennent ld, le linkage a été grandement amélioré :
* optimizations in the dynamic linker. binaries created by recent binutils versions start up quicker due to reduced time spend on relocations.
cf http://www.gnu.org/software/libc/NEWS(...)
la version 2.2.5 de la glibc date du 21/01/2002
binutils 2.12 date du 09/03/2002
et ici un utilisateur rapporte cette accélération très importante de KDE grace à la glibc 2.2.5 :
http://forum.hardware.fr/forum2.php3?post=9798&cat=11&confi(...)
Si quelqu'un peu confirmer la chose...
parceque moi je sens que je vais tester une gentoo recompilée :)
un KDE 3.0 + glibc 2.2.5 ca doit être pas mal
[^] # Re: OT ? Mandrake & GCC-3.1
Posté par RB . Évalué à 5.
J'ai testé la redhat 7.3, j'ai un duron 700, je peux te dire que kde 3 est _très_ rapide avec tout les eye candy activé (et des trucs comme liquid ajoutés). Je me demande vraiment si tu y gagnerais avec une gentoo, mais essaye :-)
[^] # Re: OT ? Mandrake & GCC-3.1
Posté par Sylvain Rampacek (site web personnel) . Évalué à 3.
Sur la mandrake par exemple, tu installes les sources du noyau fournis sur les cd de mandrake et tu reprends le fichier /boot/config que tu copies dans /usr/src/linux/.config et tu as les mêmes options que le noyau qui est installé...
Tu peux ainsi retirés ce qui ne te plait pas.
Je suppose que RedHat doit avoir un moyen similaire.
Mais c'est vrai que je recompilais aussi presque à chaque fois mes noyaux et là, je commence à arrêter car les options par défaut sont celles que je mettais... Bien évidemment, on peut toujours retirer les pilotes/modules en trop par une recompilation...
[^] # Re: OT ? Mandrake & GCC-3.1
Posté par RB . Évalué à 4.
[^] # Re: OT ? Mandrake & GCC-3.1
Posté par Sylvain Rampacek (site web personnel) . Évalué à 3.
Généralement je solutionne le problème avec la commande make mrproper (qui efface mieux que make clean et plus de chose aussi).
Mais ça dépend de la version (je sais que sur la 8.0 et le 2.4.3-mdk?? j'étais obligé de le faire).
En résumé voilà les commandes qui réussissent (encore hier sur le PC d'un copain, mdk 8.2) :
make mrproper
cp /boot/config /usr/src/linux/.config
make xconfig
make deps
make bzImage
make modules
make modules_install
et après installation puis lilo...
[^] # Re: OT ? Mandrake & GCC-3.1
Posté par xof . Évalué à -3.
Impossible de compiler le noyau de la 8.0 patché, avec le fameux GCC 2.96... je crois que c'est ça qui m'a fait tourner vers la slack; et maintenant j'en suis même plutot content :))
# Pas super les modos !
Posté par -=[ silmaril ]=- (site web personnel) . Évalué à 4.
ou comme le dit si bien google:
directeur du dégagement du GCC
[^] # Re: Pas super les modos !
Posté par Olivier Jeannet . Évalué à 1.
"to release" dans ce sens veut dire "diffuser" (ou "sortir" ou "rendre public").
"en charge de la réalisation" se dirait plutôt "implementation manager" (au fait "en charge de" est un léger anglicisme (in charge of), il vaut mieux dire "chargé de" ou "responsable de".) Et oui, "implementer" comme on le dit en français pour dire "programmer" est juste un anglicisme qui veut dire "réaliser", "mettre en oeuvre", "rendre effectif", "mettre à exécution".
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.