[comp.lang.fortran] Better Compilers for SPARCstations?

dgh@validgh.com (David G. Hough on validgh) (03/15/91)

     I am planning a competitive analysis study for native C and Fortran com-
pilers for SPARCstations.  I'm interested in hearing from end users or ISV's
who have obtained superior run-time performance or robustness - in the sense
defined below - on realistic compute-bound applications coded in some combina-
tion of C, Fortran, and assembly language, relative to what they obtained with
Sun's compiler products (C 1.0 and Fortran 1.3.1).

     C means K&R C or ANSI-C; Fortran means Fortran-77 with or without exten-
sions.

     SPARCstations means any of the Sun-4/20/40/60/65/75 that constitute the
majority of the SPARC installed base.  Performance on other Suns is not a sub-
ject of this study, nor is performance of cross-compilers.

     Superior performance means faster execution time of code compiled for
maximum optimization.  Superior robustness means correct results obtained from
optimized code with one compiler, vs. incorrect results, no results, or
compile-time failure, obtained from another.

     This study will not address debuggability or other programming environ-
ment issues, compile-time performance, quantity of nonstandard extensions,
code size, or run-time performance with respect to i/o, graphics, or interac-
tive applications.

     Realistic compute-bound applications means applications like most of
those in SPEC and PERFECT rather than short benchmark programs that aren't
used for any purpose other than benchmarking.  For these applications running
one at a time, user+system time will usually be fairly close to real time.

     In the study I plan to include "free" software such as GCC 1.39, GCC 2.0,
and F2C.  No need to mention these.  A preliminary check has turned up the
following possible sources of proprietary compilers for SPARCstations:

Amsterdam Compiler Kit
Edinburgh Portable Compilers
Liant/LPI
Metaware
Oregon Software

There may be others commercially available.  Before I invest the effort in
obtaining and installing any of these, I want to hear from at least one
independent user who has obtained good results.

     Please answer the following questions

What application area(s)?


C or Fortran?


Non-Sun compiler superior in robustness or run-time performance?


Non-Sun compiler:
 Vendor
 Version
 Compile-Time Options

Sun compiler:
 Version
 Compile-Time Options


and send your responses to

        compilers@validgh.com

Specific bug reports should be submitted through normal channels.

     There is no need to report that Sun C 1.0 is not an ANSI-C compiler, nor
that Sun Fortran 1.3.1 large-record unformatted I/O sometimes fails; both are
intended to be remedied in future releases, and Fortran 1.3.1 patches are
available now from Sun support.

     By the way, the best run-time performance from Sun compilers for
compute-bound applications is usually obtained from some combination of the
following compile-time options:

Fortran 1.3.1:
        -O4 -cg89 -libmil -dalign -fnonstd -Bstatic
C 1.0:
        -O4 -cg89 -libmil -dalign -fnonstd -Bstatic -fsingle

These are discussed in the Numerical Computation Guide which accompanies C 1.0
and Fortran 1.3.1.  Also the default swap and /tmp partitions supplied by
SunOS are often insufficient to fully optimize some large programs.  Use
swapon(8) in the first instance and -temp=..., described in cc(1) and f77(1),
in the second instance.

     Furthermore, if you would like designers of CPU's, memory systems, file
systems, kernels, compilers, and libraries, to pay much more attention to
improving performance of their products on your realistic application, con-
sider contributing it to SPEC or PERFECT.  For more information about SPEC
call (415) 792-3334 or email dixit@eng.sun.com.  Further more information
about the PERFECT Club, call (217) 244-0061.

-- 

David Hough

dgh@validgh.com		uunet!validgh!dgh	na.hough@na-net.ornl.gov