Journal gcc3.4 et les precompiled headers [bench]

Posté par  .
Étiquettes : aucune
0
25
avr.
2004

J'ai fait un petit bench sur la fonction precompiled headers de gcc-3.4
L'idee est simple:
- Je prends un vieux projet c++ qui mettait de mémoire super longtemps
à compiler.
- Je me fait un petit all.h que je précompile avec les même options.
- Je compile avec le gch présent: 23s
- Je vire le gch, vide all.h, make clean;make : 1:16s

je repasse à gcc 3.3.3-debian, surprise: 59.197

Cela dis, mon gcc 3.4 est compilé par moi même sans option particulière,
j'imagine contrairement a celui des .debs..

les modifs de mon Makefile.am:
all.h.gch: $(test_SOURCES)
echo "#ifndef _ALL_H_" >all.h
echo "#define _ALL_H_" >>all.h
cat $(test_SOURCES) |grep -- "#include" |sort -r |uniq >>all.h
echo "#endif" >>all.h
$(CXXCOMPILE) all.h
echo "#error precompiled header not used!" >all.h
et dans le configure.in:
CXXFLAGS="$CXXFLAGS $CFLAGS -include all.h"
  • # Re: gcc3.4 et les precompiled headers [bench]

    Posté par  . Évalué à 1.

    e repasse à gcc 3.3.3-debian, surprise: 59.197
    ^^^^
    Cela dis, mon gcc 3.4 est compilé par moi même sans option particulière,
    j'imagine contrairement a celui des .debs..
    ^^^

    Tu sais que gcc-3.4 est disponible dans debian experimental ?
    • [^] # Re: gcc3.4 et les precompiled headers [bench]

      Posté par  . Évalué à 1.

      gre template mangeur d'espace...

      PS : d'ailleur que je poste la boite de texte deborde sous mon mozilla :(
    • [^] # Re: gcc3.4 et les precompiled headers [bench]

      Posté par  . Évalué à 1.

      Oulah. déja que ya des problees avec unstable.. (la, mon zsh foire avec la completion des commandes..)

      Je pense que j'attendrais le mois nécessaire pour l'acceptation de gcc34 dans unstable..

      En plus, ya aussi le fait que je l'ai installé dans /opt/gcc34, et pas dans mon PATH habituel..
  • # pch & template ?

    Posté par  . Évalué à 1.

    moi j'ai raté une étape avec les pch et le C++ : si ça fonctionne avec le C++ c'est que le problème des template et le modèle de l'inclusion n'existe plus ? ou alors ça veut dire que les pch cai bien, mais ça marche pas avec les templates ?
    • [^] # Re: pch & template ?

      Posté par  . Évalué à 1.

      sisi, mon projet utilse les templates, et ca marche bien.
      L'important est de bien avoir les même options de compils.
      • [^] # Re: pch & template ?

        Posté par  . Évalué à 1.

        alors là je comprends pas ? y a export ou alors tout n'est pas pré-compilé dans les pch ?
        • [^] # Re: pch & template ?

          Posté par  . Évalué à 2.

          attention, le gch n'est pas un fichier objet!
          C'est en qq sorte une empreite mémoire de l'état de g++ apres avoir interprété le header. Donc, cela contient les structures de données nécessaires pour générer les instances de classes templates.

          pour info, mon all.h.gch fait 16Mo..
          pour 40 headers dans mon all.h
          • [^] # Re: pch & template ?

            Posté par  . Évalué à 1.

            ok, là j'ai compris. et niveau préprocesseur comment ç gère les différentes directives ?

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.