Zeitmessung in Fortran 77

Eine REAL-Funktion SECNDS(t) ist bei vielen Fortran-Compilern definiert, obwohl es keine Standardfunktion der Sprache ist.
,,Bekannt'' ist die Funktion z. B. in


Vereinbarung und Aufruf:

      ...
      REAL     secnds,t0,t1
      ...
      t0 = secnds(0.0)      ! Startzeitpunkt auf t0 merken
C         ....   Programmteil, dessen Zeit zu messen ist
C         ....   (sollte keine Ein-/Ausgaben enthalten)
      t1 = secnds(t0)       ! Verstrichene Zeit in Sekunden
      write(*,10) t1
10    Format (' Dauer:',F10.3,' sec')
      ...


Bemerkung:
In GNU-Fortran (g77) liefert die eingebaute (intrinsic) Funktion secnds(t) zwar einen reellen Funktionswert, der aber nur ganze Sekunden (bei t=0.0 seit Mitternacht) anzeigt.
Daneben gibt es eine reelle Funktion ohne Argument: second(). Sie liefert die durch den Nutzerprozess insgesamt verbrauchte (CPU-)Zeit seit Programmstart.


File translated from TEX by TTH, version 2.92.