This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: 3.0-pre vs 3.0 on Haney speed
- To: Joern Rennecke <amylaar at redhat dot com>
- Subject: Re: 3.0-pre vs 3.0 on Haney speed
- From: Paolo Carlini <pcarlini at unitus dot it>
- Date: Tue, 26 Jun 2001 15:22:13 +0200
- CC: gcc at gcc dot gnu dot org, ak at suse dot de, jbuck at synopsys dot com
- References: <200106260542.f5Q5gKg20399@phal.cambridge.redhat.com>
Hi all, hi again Joern,
having reverted Mark Mitchell's patch for Stepanov from 20010611 pre, I
ran again the test and this is the result:
-----------------------------------------------------------------------------
gcc version 3.0 20010611 (prerelease), Mitchell's patch for Stepanov
reverted
-----------------------------------------------------------------------------
Timing Complex matrix operations for n = 200
Language Answer Check Time Iter Time
O-O C++ (-1.06982e+07,-2.82516e+08): 14.77 0.5908
Hand-coded C (-1.06982e+07,-2.82516e+08): 14.43 0.5772
---------------
gcc version 3.0
---------------
Timing Complex matrix operations for n = 200
Language Answer Check Time Iter Time
O-O C++ (-1.06982e+07,-2.82516e+08): 18.35 0.734
Hand-coded C (-1.06982e+07,-2.82516e+08): 13.7 0.548
Now I'm *really* sure that one or more of the patches which went in in
the 5 days preceding the release had the unintended effect of slowing
down the test by 25-30%: if nobody stops me :-) I'm seriously planning
to revert from 3.0 one after the other any remotely plausible "guilty"
and see what happens...
Finally, even if I already posted to the list the assembly, appreciably
different in the two cases, I will show you what I'm obtaining for
differently sized data sets, that is 300x300 and 100x100 matrices, just
to be 100% sure that we are not dealing with a trivial cache effect:
-----------------------------------------------------------------------------
gcc version 3.0 20010611 (prerelease), Mitchell's patch for Stepanov
reverted
-----------------------------------------------------------------------------
Timing Complex matrix operations for n = 300
Language Answer Check Time Iter Time
O-O C++ (-5.39938e+07,-2.13879e+09): 61.64 2.4656
Hand-coded C (-5.39938e+07,-2.13879e+09): 59.22 2.3688
---------------
gcc version 3.0
---------------
Timing Complex matrix operations for n = 300
Language Answer Check Time Iter Time
O-O C++ (-5.39938e+07,-2.13879e+09): 74.61 2.9844
Hand-coded C (-5.39938e+07,-2.13879e+09): 57.89 2.3156
-----------------------------------------------------------------------------
gcc version 3.0 20010611 (prerelease), Mitchell's patch for Stepanov
reverted
-----------------------------------------------------------------------------
Timing Complex matrix operations for n = 100
Language Answer Check Time Iter Time
O-O C++ (-674806,-8.91457e+06): 1.66 0.0664
Hand-coded C (-674806,-8.91457e+06): 1.59 0.0636
---------------
gcc version 3.0
---------------
Timing Complex matrix operations for n = 100
Language Answer Check Time Iter Time
O-O C++ (-674806,-8.91457e+06): 2.18 0.0872
Hand-coded C (-674806,-8.91457e+06): 1.59 0.0636
Cheers,
Paolo.
Joern Rennecke wrote:
> Could it be related to this patch?
>
> 2001-06-09 Mark Mitchell <mark@codesourcery.com>
>
> * toplev.c (rest_of_compilation): Remove dead code before
> purge_addressof.