This is the mail archive of the gcc@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]

Ben Cheese Was: Bernd's reload patch installed


Jeffrey A Law wrote:

> This is a major design change for the reload pass that should be a noticable
> code generation improvement for targets with limited register sets.  See the

This is pretty unscientific, but I thought I'd report it anyway.
Developed for a Digi internal troll, I have a script that runs around
various ia32 compilers within reach and runs dhrystone on them with
options that are as similar as is practical.  I won't promise that
this dhrystone is "pristine" so don't compare the absolute numbers
to anything else.  This is meant only to be a relative performance
indicator.  Arguments about dhrystone being obsolete or a piece of crap
are beyond the scope of the immediate discussion. ;-)

# GCC = egcs 1.1b

gcc -o dry -mpentiumpro -O2 -finline-functions  -funroll-all-loops -fexpensive-optimizations  -DTIMES dhry_1.c dhry_2.c
Microseconds for one run through Dhrystone:    1.3
Dhrystones per Second:                      781860.8

# This is EGCS as of this morning.   

/play/negcs/gcc/xgcc -B/play/negcs/gcc/ -o dry -mpentiumpro -O2 -finline-functions  -funroll-all-loops -fexpensive-optimizations  -DTIMES dhry_1.c dhry_2.c
Microseconds for one run through Dhrystone:    1.2
Dhrystones per Second:                      829875.5

# This is the UDK target as of Oct 22.   This number had been as close
# to identical as the one just above as it could be and had been hovering
# slightly below the 1.1b numbers for some time.  I think this means
# we can attribute the difference in these two numbers to something that's
# changed in the tree in the last six days.   

/play/tmp/7/gcc/xgcc -B/play/tmp/7/gcc/ -o dry -mpentiumpro -O2 -finline-functions  -funroll-all-loops -fexpensive-optimizations  -DTIMES dhry_1.c dhry_2.c
Microseconds for one run through Dhrystone:    1.3
Dhrystones per Second:                      774593.3

# This is the OpenServer native compiler.   No P6 optimization options 
# are available.

/bin/cc -o dry -belf -Kpentium -O2 -Khost -Kinline -Kloop_unroll -DTIMES dhry_1.c dhry_2.c
dhry_1.c:
dhry_2.c:
Microseconds for one run through Dhrystone:    1.0
Dhrystones per Second:                      974658.9

# This is the SVR5 compiler from SCO.
/udk/usr/ccs/bin/cc -o dry -Kpentium_pro -O2 -Khost -Kinline -Kloop_unroll -DTIMES dhry_1.c dhry_2.c
dhry_1.c:
dhry_2.c:
Microseconds for one run through Dhrystone:    0.9
Dhrystones per Second:                      1086956.5

# This is Intel's Optimizing Compiler 2.1.4.   It actually will do 
# interprocedural analysis across source files (!) when handed multiple 
# files on a single invocation like this.
icc -o dry -belf -ip -mem -O1 -pad -tp p6 -DTIMES dhry_1.c dhry_2.c
dhry_1.c:
dhry_2.c:
Microseconds for one run through Dhrystone:    0.6
Dhrystones per Second:                      1582278.5

# Same compiler without the i/p analysis.   It's about neck and neck with
# SCO's tools in "real world" use.   (Do you compile imagemagic all on one
# command line?    Didn't think so. :-) 
icc -o dry -belf -mem -O1 -pad -tp p6 -DTIMES dhry_1.c dhry_2.c
dhry_1.c:
dhry_2.c:
Microseconds for one run through Dhrystone:    0.9
Dhrystones per Second:                      1088139.2




> Bernd -- thanks for all the contributions!

Indeed.   Thanx to everyone.

RJL


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