This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [tree-ssa] DCE with control dependence again (with numbers, for a change)
- From: Steven Bosscher <s dot bosscher at student dot tudelft dot nl>
- To: law at redhat dot com, gcc-patches at gcc dot gnu dot org
- Cc: aj at suse dot de, pinskia at physics dot uc dot edu
- Date: Sat, 10 Jan 2004 18:31:59 +0100
- Subject: Re: [tree-ssa] DCE with control dependence again (with numbers, for a change)
- References: <200401091826.30854.s.bosscher@student.tudelft.nl>
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