program f_example1 integer i,j integer status double precision wallt1, wallt2, usrt1, usrt2, syst1, syst2 double precision wallsecs, usrsecs, syssecs double precision dummy C Use PTR routines without calibration dummy = 10.0D0 call PTR_INIT_WALL_TIMER(dummy, 0.0D0, status) call PTR_INIT_USR_TIMER(dummy, 0.0D0, status) call PTR_INIT_SYS_TIMER(dummy, 0.0D0, status) call PTR_GET_WALL_TIME(wallt1) call PTR_GET_USR_TIME(usrt1) call PTR_GET_SYS_TIME(syst1) do i=1,10000000 j = i*i enddo do i=1, 1000 call chdir('.') enddo call PTR_GET_WALL_TIME(wallt2) call PTR_GET_USR_TIME(usrt2) call PTR_GET_SYS_TIME(syst2) call PTR_GET_WALL_INTERVAL(wallt1, wallt2, wallsecs, status) call PTR_GET_USR_INTERVAL(usrt1, usrt2, usrsecs, status) call PTR_GET_SYS_INTERVAL(syst1, syst2, syssecs, status) print *, "Wall time:", wallsecs print *, "Usr time:", usrsecs print *, "Sys time:", syssecs C Try the same thing with calibration on dummy = 0.0D0 call PTR_INIT_WALL_TIMER(dummy, 0.0D0, status) call PTR_INIT_USR_TIMER(dummy, 0.0D0, status) call PTR_INIT_SYS_TIMER(dummy, 0.0D0, status) call PTR_GET_WALL_TIME(wallt1) call PTR_GET_USR_TIME(usrt1) call PTR_GET_SYS_TIME(syst1) do i=1,10000000 j = i*i enddo do i=1, 1000 call chdir('.') enddo call PTR_GET_WALL_TIME(wallt2) call PTR_GET_USR_TIME(usrt2) call PTR_GET_SYS_TIME(syst2) call PTR_GET_WALL_INTERVAL(wallt1, wallt2, wallsecs, status) call PTR_GET_USR_INTERVAL(usrt1, usrt2, usrsecs, status) call PTR_GET_SYS_INTERVAL(syst1, syst2, syssecs, status) print *, "Wall time:", wallsecs print *, "Usr time:", usrsecs print *, "Sys time:", syssecs end