timer_obj_UpdateTiming Subroutine

private impure subroutine timer_obj_UpdateTiming(this, name)

Updates timing info with elapsed time since beginning of current iteration.

Type Bound

timer_obj

Arguments

Type IntentOptional Attributes Name
class(timer_obj), intent(inout) :: this

Timer

character(len=*), intent(in) :: name

Name of timing data


Calls

proc~~timer_obj_updatetiming~~CallsGraph proc~timer_obj_updatetiming timer_obj%timer_obj_UpdateTiming none~get~3 hashtbl_obj%Get proc~timer_obj_updatetiming->none~get~3 proc~hashtbl_obj_hashstring hashtbl_obj%hashtbl_obj_HashString proc~timer_obj_updatetiming->proc~hashtbl_obj_hashstring proc~hashtbl_obj_get_int4 hashtbl_obj%hashtbl_obj_Get_int4 none~get~3->proc~hashtbl_obj_get_int4 proc~hashtbl_obj_get_int8 hashtbl_obj%hashtbl_obj_Get_int8 none~get~3->proc~hashtbl_obj_get_int8 proc~hashtbl_obj_get_real_dp hashtbl_obj%hashtbl_obj_Get_real_dp none~get~3->proc~hashtbl_obj_get_real_dp proc~hashtbl_obj_get_real_sp hashtbl_obj%hashtbl_obj_Get_real_sp none~get~3->proc~hashtbl_obj_get_real_sp none~get~2 sllist_obj%Get proc~hashtbl_obj_get_int4->none~get~2 proc~hashtbl_obj_get_int8->none~get~2 proc~hashtbl_obj_get_real_dp->none~get~2 proc~hashtbl_obj_get_real_sp->none~get~2 proc~sllist_obj_get_int4 sllist_obj%sllist_obj_Get_int4 none~get~2->proc~sllist_obj_get_int4 proc~sllist_obj_get_int8 sllist_obj%sllist_obj_Get_int8 none~get~2->proc~sllist_obj_get_int8 proc~sllist_obj_get_real_dp sllist_obj%sllist_obj_Get_real_dp none~get~2->proc~sllist_obj_get_real_dp proc~sllist_obj_get_real_sp sllist_obj%sllist_obj_Get_real_sp none~get~2->proc~sllist_obj_get_real_sp proc~sllist_obj_get_int4->proc~sllist_obj_get_int4 proc~sllist_obj_get_int8->proc~sllist_obj_get_int8 proc~sllist_obj_get_real_dp->proc~sllist_obj_get_real_dp proc~sllist_obj_get_real_sp->proc~sllist_obj_get_real_sp

Called by

proc~~timer_obj_updatetiming~~CalledByGraph proc~timer_obj_updatetiming timer_obj%timer_obj_UpdateTiming proc~cdifs_obj_advancesolution cdifs_obj_AdvanceSolution proc~cdifs_obj_advancesolution->proc~timer_obj_updatetiming proc~cdifs_obj_advancesolutionrp cdifs_obj_AdvanceSolutionRP proc~cdifs_obj_advancesolution->proc~cdifs_obj_advancesolutionrp proc~cdifs_obj_advancesolutionrp->proc~timer_obj_updatetiming proc~cdifs_obj_monitor cdifs_obj_Monitor proc~cdifs_obj_monitor->proc~timer_obj_updatetiming proc~cdifs_obj_writeoutputdata cdifs_obj_WriteOutputData proc~cdifs_obj_writeoutputdata->proc~timer_obj_updatetiming proc~cdifs_obj_writerestartdata cdifs_obj_WriteRestartData proc~cdifs_obj_writerestartdata->proc~timer_obj_updatetiming proc~grans_obj_advancesolution grans_obj_AdvanceSolution proc~grans_obj_advancesolution->proc~timer_obj_updatetiming proc~grans_obj_monitor grans_obj_monitor proc~grans_obj_monitor->proc~timer_obj_updatetiming proc~grans_obj_writeoutputdata grans_obj_WriteOutputData proc~grans_obj_writeoutputdata->proc~timer_obj_updatetiming proc~grans_obj_writerestartdata grans_obj_WriteRestartData proc~grans_obj_writerestartdata->proc~timer_obj_updatetiming interface~cdifs_obj_advancesolution cdifs_obj%cdifs_obj_AdvanceSolution interface~cdifs_obj_advancesolution->proc~cdifs_obj_advancesolution interface~cdifs_obj_monitor cdifs_obj%cdifs_obj_Monitor interface~cdifs_obj_monitor->proc~cdifs_obj_monitor interface~cdifs_obj_writeoutputdata cdifs_obj%cdifs_obj_WriteOutputData interface~cdifs_obj_writeoutputdata->proc~cdifs_obj_writeoutputdata interface~cdifs_obj_writerestartdata cdifs_obj%cdifs_obj_WriteRestartData interface~cdifs_obj_writerestartdata->proc~cdifs_obj_writerestartdata interface~grans_obj_advancesolution grans_obj%grans_obj_AdvanceSolution interface~grans_obj_advancesolution->proc~grans_obj_advancesolution interface~grans_obj_monitor grans_obj%grans_obj_Monitor interface~grans_obj_monitor->proc~grans_obj_monitor interface~grans_obj_writeoutputdata grans_obj%grans_obj_WriteOutputData interface~grans_obj_writeoutputdata->proc~grans_obj_writeoutputdata interface~grans_obj_writerestartdata grans_obj%grans_obj_WriteRestartData interface~grans_obj_writerestartdata->proc~grans_obj_writerestartdata proc~cdifs_obj_preparesolver cdifs_obj_PrepareSolver proc~cdifs_obj_preparesolver->interface~cdifs_obj_monitor proc~cdifs_obj_preparesolver->interface~cdifs_obj_writeoutputdata proc~grans_obj_preparesolver grans_obj_PrepareSolver proc~grans_obj_preparesolver->interface~grans_obj_monitor proc~grans_obj_preparesolver->interface~grans_obj_writeoutputdata interface~cdifs_obj_preparesolver cdifs_obj%cdifs_obj_PrepareSolver interface~cdifs_obj_preparesolver->proc~cdifs_obj_preparesolver interface~grans_obj_preparesolver grans_obj%grans_obj_PrepareSolver interface~grans_obj_preparesolver->proc~grans_obj_preparesolver

Source Code

    impure subroutine timer_obj_UpdateTiming(this,name)
      !> Updates timing info with elapsed time since beginning of current
      ! iteration.
      implicit none
      class(timer_obj), intent(inout) :: this                                  !! Timer
      character(len=*), intent(in)    :: name                                  !! Name of timing data
      ! Work variables
      integer :: idx
      real(wp):: now

      ! Get index from hash table
      call this%tbl%Get(key=this%tbl%HashString(name),val=idx)

      ! Update time elapsed since beginning of iteration
      now              = this%parallel%Time()
      this%timing(idx) = now - this%lasttime
      this%lasttime    = now

      return
    end subroutine timer_obj_UpdateTiming