Eric Botcazou wrote:
Please, just look at those charts
https://vmakarov.108.redhat.com/nonav/spec/comparison.html
The compilation speed decrease without a performance improving (at least
for the default case) is really scary.
Right, I also found those charts a bit depressing, given the time and energy
that have been put in the compiler since GCC 3.2.3. For example, it seems
that the Tree-SSA infrastructure has brought very little benefit in terms of
performance in the generic case, in exchange for a massive dump of new code.
Yes, the compilation speed and SPECINT scores looks a bit depressive.
But gcc has now more optimizations and there is more possibility to
generate a better code for a program. Also the code size became smaller
too. More people use C++ than C now. There is really improvement for
C++ code (SPECINT contains only 1 C++ benchmark of 12 ones).
Fortunately gcc 4.3 will have also faster compilation speed than 4.2
even with the df infrastructure (which may be, and I hope, helps to
improve the code finally). That is because some work was done to speed
up tree-SSA infrastructure (and Paolo Bonizini's frwprop) to improve the
compilation speed.
I think LTO will speed up the generated code too although with, I think,
some signficant compilation slowdown. And it might be not usefull for
big programs (e.g. i remember my experience when I forced ICC to compile
a program for half hour when with less agressive optimizations it would
compile for a few minutes).