Performance of egcs-1.0.3 vs egcs-1.1

Jeffrey A Law law@cygnus.com
Tue Sep 8 02:42:00 GMT 1998


A while ago Richard Henderson posted some performance numbers for
egcs-1.0.3 vs the egcs-1.1 release on the Alpha.

They were disappointing to say the least.

I'd like to present a slightly differnet picture.

I don't have a suitable spec95 license, so I'm stuck using the
dated spec92 suite, but it still provides some useful information.

On my PPro compiling with -O2 -march=pentiumpro -mcpu=pentiumpro:


Here's what I get for egcs-1.0.3:
  ---------------------------------------------------------------
  Benchmark     	    Ref		  Actual	SPECRatio
  ---------------------------------------------------------------
  008.espresso  	   2270		    12.9	    176.0
  022.li        	   6210		    25.7	    241.6
  023.eqntott   	   1100		     7.1	    154.9
  026.compress  	   2770		    28.2	     98.2
  072.sc        	   4530		    60.9	     74.4
  085.gcc       	   5460		    32.5	    168.0

  Geometric Mean: SPECint92                           141.7
  Each benchmark must appear once for a valid SPECint92.

  ---------------------------------------------------------------
  Benchmark     	    Ref		  Actual	SPECRatio
  ---------------------------------------------------------------
  013.spice2g6  	  24000		   198.5	    120.9
  015.doduc     	   1860		    20.6	     90.3
  034.mdljdp2   	   7090		    41.9	    169.2
  039.wave5     	   3700		    35.8	    103.4
  047.tomcatv   	   2650		    25.1	    105.6
  048.ora       	   7420		    46.4	    159.9
  052.alvinn    	   7690		    26.8	    286.9
  056.ear       	  25500		    60.0	    425.0
  077.mdljsp2   	   3350		    35.2	     95.2
  078.swm256    	  12700		   155.6	     81.6
  089.su2cor    	  12900		   122.3	    105.5
  090.hydro2d   	  13700		   123.3	    111.1
  093.nasa7     	  16800		   156.2	    107.6
  094.fpppp     	   9200		    75.4	    122.0

  Geometric Mean: SPECfp92                           131.6
  Each benchmark must appear once for a valid SPECfp92.


And here's what I get for egcs-1.1:
  ---------------------------------------------------------------
  Benchmark     	    Ref		  Actual	SPECRatio
  ---------------------------------------------------------------
  008.espresso  	   2270		    13.0	    174.6
  022.li        	   6210		    25.1	    247.4
  023.eqntott   	   1100		     5.1	    215.7
  026.compress  	   2770		    28.6	     96.9
  072.sc        	   4530		    60.8	     74.5
  085.gcc       	   5460		    31.9	    171.2

  Geometric Mean: SPECint92                           150.3
  Each benchmark must appear once for a valid SPECint92.

  ---------------------------------------------------------------
  Benchmark     	    Ref		  Actual	SPECRatio
  ---------------------------------------------------------------
  013.spice2g6  	  24000		   168.0	    142.9
  015.doduc     	   1860		    15.1	    123.2
  034.mdljdp2   	   7090		    36.6	    193.7
  039.wave5     	   3700		    35.0	    105.7
  047.tomcatv   	   2650		    18.3	    144.8
  048.ora       	   7420		    45.6	    162.7
  052.alvinn    	   7690		    26.5	    290.2
  056.ear       	  25500		    60.9	    418.7
  077.mdljsp2   	   3350		    33.7	     99.4
  078.swm256    	  12700		   151.6	     83.8
  089.su2cor    	  12900		    89.2	    144.6
  090.hydro2d   	  13700		    73.8	    185.6
  093.nasa7     	  16800		   158.5	    106.0
  094.fpppp     	   9200		    58.5	    157.3

  Geometric Mean: SPECfp92                           153.0
  Each benchmark must appear once for a valid SPECfp92.


The integer results aren't great.  Most of the speedup comes from
the infamous eqntott benchmark.  A minor change I made to loop.c
(inspired by some pgcc patches) improves the branching behavior of
the inner loop for that benchmark.

But I am pleased with the improvements for floating point.  They're
consistently better with egcs-1.1.

I don't have gcc-2.7 or gcc-2.8 #s handy.


I also happen to know that the PA7xxx class machines should have seen
a noticable improvement for floatign point performance.  But I don't
have any #s handy.  I would think the PA8000 class machines would have
improved too, but I haven't done any serious performance testing on
those boxes yet.

jeff



More information about the Gcc mailing list