Execution Times of F Versus Fortran 90

As reported by Michel Olagnon in a SuperPro versions of F that utilize the optimizing compiler technology from Fujitsu. So I took a few of the numerically intensive codes from the Unicomp "Lite" test suite timing programs and rewrote them in F. In most cases, this was simply a matter of changing the form of the program without changing anything essential about the way the computation is performed. Thus the results are not surprising: there is no significant difference between the performance of the Fortran 90 programs (which were really Fortran 77 programs, in many cases) and the corresponding F programs.

A very brief description of the programs follows:

The timings were run on an RDI portable with a 110 MHz SPARC CPU and 32 megabytes of memory running Solaris 2.5. The Fortran 90 compiler (``frt'') is the Fujitsu Fortran 90 compiler with the ``-Kfast'' option set. The F compiler (``SPF'') is SuperPro F for Solaris 2 with the ``-O'' option set. The tests were run in single user mode with as little other activity as possible. The times were computed using the Fortran 90 intrinsic subroutine system_clock. As always, timings should be taken with large grains of salt. However, repeating the timings produced very similar results.

Just for fun, I reran the same programs on the HALstation 330 using the same SuperPro F compiler based on the Fujitsu optimized compiler. This machine, like the RDI, is not the latest in the line, but is a 101 MHz SPARC-compliant machine. However, it has 128 megabytes of memory, faster disks, much higher CPU to memory speeds, different implementation of the SPARC architecture, etc. If more evidence is needed, this certainly shows that you can't predict the performance of a machine based on its clock speed!

Here are the results. Execution times are in seconds.

               RDI 110   HAL 330

              frt  SPF     SPF

channel       717  659     186
dynamic       147  141       1
kepler         46   49      16
lu            572  580     123
monte carlo   533  539      25