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

bad performance of g77(egcs) on Linux/Alpha



This is not a bug report in a strict sense but some performance
concerns were raised and they look to me as valid.

I was asked to look at the code available from 
http://studbolt.physast.uga.edu/templon/fortran.html
under a title of "Silly benchmark", or something similar.
It actually calculates some dispersion of an electron energy on
an absorber, so this is not anything in "Byte benchmarks" style,
and it is used for comparison of various Fortran platforms.

A concern was raised as the guy in question tried to use g77 from
egcs-1.0.1 on Linux/Alpha (LX running at 600 Mhz).  A performance
was not spectacular (144 seconds).  After that he tried run the
same code and on the same Linux machine but compiled and linked
statically with OSF/1 compiler (version unknown).  He got 41 seconds
for a runtime.  This is a substantial discrepancy.

I tried to check this code on another Linux/Alpha (Cabriolet, ev4,
250 Mhz, kernel 2.0.33, glibc-2.0.7-5 ) with egcs-1.0.2.  Results were
in order of Pentium 100 Mhz (around 450 secs).  I tried few different
optimization options and also "hand-unrolling" a function gammln()
which is used in an inner loop of the program.  I was able to drop a
few seconds from a running time but nothing substantial.

Is any reasonable explanation for these results beyond that a library
function log(), used by gammaln(), is possibly awfull?

I include below, for an ease of reference, a code which compiles with
g77, two version of gammaln() functions, my Makefile, and three html
documents, stolen from a location mentioned above, which describe
results achieved with different hardware and compilers.

  Michal Jaegermann
  michal@ellpspace.math.ualberta.ca
  michal@harddata.com

begin 644 brem.tar.gz
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
6;:_MM;VVU_;:7K_E^A<8'_=U`'@`````
`
end


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