[Bug c++/26788] New: optimization of expression templates not as performant as g++ 4.0.2
roebel at ircam dot fr
gcc-bugzilla@gcc.gnu.org
Tue Mar 21 21:06:00 GMT 2006
Hi,
I just installed gcc 4.1.0 to compile my template expression
matrix arithmetric library (a la Blitz).
I recently did benchmarks with g++ 3.4.4
and 4.0.2 an I was pretty much impressed that g++ 4.0.2 managed to
optimize the expressions such that I obtained performance nearly
twice as fast as with g++ 3.4.4, and even better
the performance was the same as my hand coded pointer only implementation.
I was rather happy with this result. It seems that the handling of
pointer arrays that are stored in a struct that represents the expression
has been significantly improved.
Now, the downside. I tried 4.1.0 and I noticed that the performance dropped
down too a level even worse than gcc 3.4.4. I wondered about the reason and
scanned the optimization parameters. I found salias-max-implicit-fields
with a default value of 5. I guessed that might be the reason
and increased the value to 50. With this value I've got back the impressive
performance of g++ 4.0.2.
I wonder why the default value has been set so low that apparently it
cripples the optimizer to a level of optimization consierably
below what has been achieved with g++ 4.0.2 (where this option does not exist).
Does this option negatively affects performance elsewhere? If not
it seems to me that a default value that resembles the
settings in gcc 4.0.2 would be more sensible.
Kind regards,
and thanks anyway for this great compiler suite.
Axel
--
Summary: optimization of expression templates not as performant
as g++ 4.0.2
Product: gcc
Version: 4.1.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: c++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: roebel at ircam dot fr
GCC build triplet: i686-pc-linux-gnu
GCC host triplet: i686-pc-linux-gnu
GCC target triplet: i686-pc-linux-gnu
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=26788
More information about the Gcc-bugs
mailing list