perf_add_elapsed Subroutine

public subroutine perf_add_elapsed(region_id, elapsed_s, call_count)

経過時間と呼び出し回数を累積する。

Arguments

Type IntentOptional Attributes Name
integer(kind=i32), intent(in) :: region_id
real(kind=dp), intent(in) :: elapsed_s
integer(kind=i32), intent(in), optional :: call_count

Called by

proc~~perf_add_elapsed~~CalledByGraph proc~perf_add_elapsed perf_add_elapsed proc~perf_region_end perf_region_end proc~perf_region_end->proc~perf_add_elapsed program~main main program~main->proc~perf_region_end

Source Code

  subroutine perf_add_elapsed(region_id, elapsed_s, call_count)
    integer(i32), intent(in) :: region_id
    real(dp), intent(in) :: elapsed_s
    integer(i32), intent(in), optional :: call_count
    integer(i32) :: calls

    if (.not. perf_state%enabled) return
    if (.not. valid_region(region_id)) return

    calls = 1_i32
    if (present(call_count)) calls = max(0_i32, call_count)
    perf_state%regions(region_id)%total_s = perf_state%regions(region_id)%total_s + max(0.0d0, elapsed_s)
    perf_state%regions(region_id)%call_count = perf_state%regions(region_id)%call_count + calls
  end subroutine perf_add_elapsed