GCC Benchmarks (coybench), AMD64 and i686, 14 August 2004

Scott Robert Ladd coyote@coyotegulch.com
Tue Aug 17 21:26:00 GMT 2004


Hello,

Thanks for the analysis; the mole benchmark is a cleaned-up automatic 
translation of Fortran 90 code written by Bill Magro of Kuck and 
Associates, Inc. I hadn't made a pass over it to look for hand 
optimizations.

I've implemented the changes you suggested in both C and Fortran 90 
versions, plus I made a few other optimizations that came to mind. As a 
result, the run-time of the mole benchmark dropped from 29+ seconds to 
6.7 seconds on the Opteron. This will be reflected in the new tables 
I'll publishing this coming weekend.

Marcel Cox wrote:
 > While both these types of optimizations would be nice to have, I still
 > consider them to be optimizations that someone who writes a program
 > that does mathematical calculations should have done himself when
 > writing the program.

Almost any code can be hand-optimized for better performance; the 
SPEC2000 benchmarks, for example, are far from perfectly realized. And 
sometimes an excellent optimizer allows code to be written for greater 
clarity as opposed to cleverness. Not all loop invariants are so obvious.

Given that Intel is smart-enough to generate both correct and fast code 
from the source, GCC should be able to do the same. I'm thankful that we 
have a very smart group of people who are working hard on such matters.

..Scott

-- 
Scott Robert Ladd
Coyote Gulch Productions (http://www.coyotegulch.com)
Software Invention for High-Performance Computing



More information about the Gcc mailing list