The GNU Fortran Compiler: ETIME

Next: EXECUTE_COMMAND_LINE, Previous: ERFC_SCALED, Up: Intrinsic Procedures [Contents][Index]

### 8.77 `ETIME` — Execution time subroutine (or function)

Description:

  `ETIME(VALUES, TIME)` returns the number of seconds of runtime since the start of the process’s execution in TIME. VALUES returns the user and system components of this time in `VALUES(1)` and `VALUES(2)` respectively. TIME is equal to `VALUES(1) + VALUES(2)`.

  On some systems, the underlying timings are represented using types with sufficiently small limits that overflows (wrap around) are possible, such as 32-bit types. Therefore, the values returned by this intrinsic might be, or become, negative, or numerically less than previous values, during a single run of the compiled program.

  This intrinsic is provided in both subroutine and function forms; however, only one form can be used in any given program unit.

  VALUES and TIME are `INTENT(OUT)` and provide the following:

  | `VALUES(1)`: | User time in seconds.
  | `VALUES(2)`: | System time in seconds.
  | `TIME`: | Run time since start in seconds.

Standard:

  GNU extension

Class:

  Subroutine, function

Syntax:

  `CALL ETIME(VALUES, TIME)`.
  `TIME = ETIME(VALUES)`, (not recommended).

Arguments:

  VALUES | The type shall be `REAL(4), DIMENSION(2)`.
  TIME | The type shall be `REAL(4)`.

Return value:

  Elapsed time in seconds since the start of program execution.

Example:

      program test_etime
          integer(8) :: i, j
          real, dimension(2) :: tarray
          real :: result
          call ETIME(tarray, result)
          print *, result
          print *, tarray(1)
          print *, tarray(2)
          do i=1,100000000    ! Just a delay
              j = i * i - i
          end do
          call ETIME(tarray, result)
          print *, result
          print *, tarray(1)
          print *, tarray(2)
      end program test_etime

See also:

  CPU_TIME

Next: EXECUTE_COMMAND_LINE, Previous: ERFC_SCALED, Up: Intrinsic Procedures [Contents][Index]