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