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 M . Évalué à 1.
^^^^
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 M . Évalué à 1.
PS : d'ailleur que je poste la boite de texte deborde sous mon mozilla :(
[^] # Re: gcc3.4 et les precompiled headers [bench]
Posté par Pierre . Évalué à 1.
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 TazForEver . Évalué à 1.
[^] # Re: pch & template ?
Posté par Pierre . Évalué à 1.
L'important est de bien avoir les même options de compils.
[^] # Re: pch & template ?
Posté par TazForEver . Évalué à 1.
[^] # Re: pch & template ?
Posté par Pierre . Évalué à 2.
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 TazForEver . Évalué à 1.
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.