CPU_TIME (The GNU Fortran Compiler)

### 8.86 `CPU_TIME` — CPU elapsed time in seconds ¶

Synopsis:

  `CALL CPU_TIME(TIME)`

Description:

  Returns a `REAL` value representing the elapsed CPU time in seconds. This is useful for testing segments of code to determine execution time.

  If a time source is available, time is reported with microsecond resolution. If no time source is available, TIME is set to `-1.0`.

  Note that TIME may contain a system-dependent arbitrary offset and may not start with `0.0`. For `CPU_TIME`, the absolute value is meaningless; only differences between subsequent calls to this subroutine, as shown in the example below, should be used.

Class:

  Subroutine

Arguments:

  TIME | The type shall be `REAL` with `INTENT(OUT)`.

Return value:

  None

Example:

      program test_cpu_time
          real :: start, finish
          call cpu_time(start)
              ! put code to test here
          call cpu_time(finish)
          print '("Time = ",f6.3," seconds.")',finish-start
      end program test_cpu_time

Standard:

  Fortran 95 and later

See also:

  `SYSTEM_CLOCK` — Time function,
  `DATE_AND_TIME` — Date and time subroutine