[comp.lang.fortran] how to calculate cpu time on IBM RS/6000 ?

oliveria@engin.umich.edu (ROQUE DONIZETE DE OLIVEIRA) (09/18/90)

How to correctly calculate cpu usage in fortran on the IBM RS/6000 ?
I tried the following program ( h.f ) :
C-----------------------------------------------------------------------
      REAL*8 T , T1 , T2 , X
      CALL TIME(T1)
      X = 1.
      DO 10 I=1,100000
      X = X + 10.
10    CONTINUE
      WRITE(6,50) X
50    FORMAT('X=',D14.7)
      CALL TIME(T2)     
      T=T2 -T1
      WRITE(6,100) T
100   FORMAT('T=',D14.7)
      STOP
      END
C-----------------------------------------------------------------------
      SUBROUTINE TIME(T)
      REAL*8 T
      I1 = MCLOCK( )
      T  = 60*I1
      RETURN
      END
C-----------------------------------------------------------------------

xlf -o h.exe h.f 
** main   === End of Compilation 1 ===
** time   === End of Compilation 2 ===
1501-510  Compilation successful for file h.f.
xanadu% h.exe
X=  .1000001D+07
T=  .4800000D+03
STOP 
xanadu% time h.exe
X=  .1000001D+07
T=  .4200000D+03
STOP 
1.8900u 1.1900s 0:00 91666% 0+0k 0+0io 0pf+0w

As you can see the output   T=480 seconds is wrong (it took about a second
to run). It is probably a mistake in my sample program above. Can someone
point it out to me ?  I wished ETIME was available in this system.

Thanks.

    Roque Oliveira
    oliveria@caen.engin.umich.edu