next up previous
Next: Mathematical Software for Up: Testing and Evaluation Previous: Development of SLI

Measurement of Fortran Execution Time

William F. Mitchell, ACMD

A critical issue in the development of efficient scientific software is the consistent measurement of execution time of program segments to 1) determine bottlenecks that can be eliminated to improve performance, and 2) compare program performance with standard reference software. In the Fortran-77 and C languages there are no standard functions for measuring execution time, so timing measurements have always been ad hoc and system dependent. In the new Fortran-90 language the system_clock routine has been standardized, however its primitive level makes it difficult to use directly, which can result in inconsistent measurements. Other new features of the language, used with the system_clock routine, now make it possible to create a software tool that can standardize the measurement of program execution time using modern programming techniques.

The primary goal of this project is to create a Fortran-90 module (a Fortran-90 construct similar to a C++ class) to standardize the measurement of program execution time, and to deliver this generic-use software to industry through internet channels like the Fortran Market, netlib and GAMS. We also expect to use the module within NIST for measurement of standard reference software and algorithms in the Information Technology Laboratory, and optimization of scientific software in collaboration with other NIST laboratories. The module has an object oriented interface with which users can create as many timers as are needed, and operate on them in stopwatch fashion with functions like start, stop, read and reset. A secondary goal is to obtain experience with new technologies such as Fortran-90 and object oriented programming techniques in anticipation of future NIST needs.

During the past year:

  1. A Fortran 90 module, StopWatch, was designed and implemented. It was tested on five platforms.

  2. Extensive user documentation was written, including a User's Guide in postscript and HTML formats, and Unix man pages.

  3. A beta test release of StopWatch was announced to the Fortran community through the comp.lang.fortran newsgroup and the fortran90 listserve mailing list.

  4. A World Wide Web page was created for StopWatch, containing information about StopWatch, the StopWatch distribution, the HTML form of the User's Guide, and updates to the software for additional platforms.

  5. Walt Brainerd (Unicomp, Inc.) expressed interest in including StopWatch in ``Fortran 90 Test Suite (Lite)'', a product marketed by Unicomp, and created a link to StopWatch in the Fortran Market World Wide Web page.

  6. There have been over 1100 connections to the StopWatch home page, and about 500 distributions of the software.
Future work on this project will consist of enhancements, distribution to a broader audience, and extension to additional platforms.

next up previous
Next: Mathematical Software for Up: Testing and Evaluation Previous: Development of SLI

Generated by on Mon Aug 19 10:08:42 EDT 1996