This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [tree-ssa] DCE with control dependence again (with numbers, for a change)


On Friday 09 January 2004 18:26, Steven Bosscher wrote:
> Hi Jeff, all,
> I cannot give you benchmark performance numbers right now, I'm still
> trying to get SPEC numbers with Andreas Jaeger.

And the SPEC CINT2000 numbers are...

Base Compiler: GCC Tree-SSA as of 2003-01-09
Peak Compiler: base+patch.DCE_control_dep
cflags base: -O2
cflags peak: -O2
Iterations: 3

Size of binaries:
Total: Base: 5064657 bytes
Total: Peak: 5064369 bytes
gcc -192 bytes, crafty -64 bytes, gap -64 bytes;
eon +32 bytes.
rest is unchanged.

Not significant, I think.


Compile times for benchmarks:
164.gzip base: 3 s
164.gzip peak: 3 s
175.vpr base: 8 s
175.vpr peak: 8 s
176.gcc base: 92 s
176.gcc peak: 91 s
181.mcf base: 1 s
181.mcf peak: 1 s
186.crafty base: 14 s
186.crafty peak: 14 s
197.parser base: 6 s
197.parser peak: 6 s
252.eon base: 174 s
252.eon peak: 173 s
253.perlbmk base: 46 s
253.perlbmk peak: 45 s
254.gap base: 30 s
254.gap peak: 30 s
255.vortex base: 28 s
255.vortex peak: 28 s
256.bzip2 base: 2 s
256.bzip2 peak: 2 s
300.twolf base: 17 s
300.twolf peak: 16 s
======================================
Total time for base compilation: 421 s
Total time for peak compilation: 417 s

So with the patch, GCC is never slower, and sometimes faster.


                                    Estimated                     Estimated
                   Base      Base      Base      Peak      Peak      Peak
   Benchmarks    Ref Time  Run Time   Ratio    Ref Time  Run Time   Ratio
   ------------  --------  --------  --------  --------  --------  --------
   164.gzip          1400  187             748      1400  187             749*
   164.gzip          1400  187             749*     1400  187             749 
   164.gzip          1400  187             749      1400  187             749 
   175.vpr           1400  196             714*     1400  195             717*
   175.vpr           1400  196             714      1400  196             716 
   175.vpr           1400  194             720      1400  195             719 
   176.gcc           1100  114             964      1100  114             962 
   176.gcc           1100  114             961      1100  114             963 
   176.gcc           1100  114             963*     1100  114             963*
   181.mcf           1800  441             408*     1800  441             408*
   181.mcf           1800  441             408      1800  444             406 
   181.mcf           1800  443             406      1800  437             412 
   186.crafty        1000  72.5          1380      1000  72.4          1380 
   186.crafty        1000  72.4          1381*     1000  72.5          1380 
   186.crafty        1000  72.4          1382      1000  72.5          1380*
   197.parser        1800  324             556      1800  324             555 
   197.parser        1800  324             555      1800  324             556 
   197.parser        1800  324             556*     1800  324             555*
   252.eon           1300   0.0306           X     1300   0.0134           X
   252.eon           1300   0.00966          X     1300   0.00965          X
   252.eon           1300   0.00960          X     1300   0.00971          X
   253.perlbmk       1800  181             993*     1800  182             991 
   253.perlbmk       1800  181             994      1800  182             991 
   253.perlbmk       1800  182             992      1800  182             991*
   254.gap           1100  149             738*     1100  149             738*
   254.gap           1100  149             737      1100  149             738 
   254.gap           1100  149             738      1100  149             737 
   255.vortex        1900  161            1178*     1900  161            1179 
   255.vortex        1900  161            1178      1900  161            1178*
   255.vortex        1900  161            1178      1900  161            1177 
   256.bzip2         1500  199             753      1500  199             754 
   256.bzip2         1500  200             751      1500  199             753 
   256.bzip2         1500  199             753*     1500  199             753*
   300.twolf         3000  357             840      3000  357             840*
   300.twolf         3000  358             837      3000  358             837 
   300.twolf         3000  358             839*     3000  357             840 
   ========================================================================
   164.gzip          1400  187             749*     1400  187             749*
   175.vpr           1400  196             714*     1400  195             717*
   176.gcc           1100  114             963*     1100  114             963*
   181.mcf           1800  441             408*     1800  441             408*
   186.crafty        1000  72.4          1381*     1000  72.5          1380*
   197.parser        1800  324             556*     1800  324             555*
   252.eon                                   X                             X
   253.perlbmk       1800  181             993*     1800  182             991*
   254.gap           1100  149             738*     1100  149             738*
   255.vortex        1900  161            1178*     1900  161            1178*
   256.bzip2         1500  199             753*     1500  199             753*
   300.twolf         3000  358             839*     3000  357             840*
   Est. SPECint_base2000                  802
   Est. SPECint2000                                                     802

eon failed before and after the patch.

In summary: vrp is better, crafty and parser drop a point but not
significantly judging from the three runs. twolf up one point, but
also not significantly.  perlmbk droms two points, I'll have a look
at that when I get the opportunity.  Overall, unchanged.

Other than that, the compiler is slightly faster, and produces a bit
smaller binaries.

I think I can claim from these results and from the results that:
- The patch will not cause performance problems, in fact it will
  make the compiler a bit faster overall.
- The effect on the performance of the resulting code is not very
  significant overall.
- Binary sizes are typically smaller, especially for C++ code.

Gr.
Steven


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]