/* * 実行時間計測の終了(受け口関数) */ ER eHistogram_endMeasure(CELLIDX idx) { CELLCB *p_cellcb = GET_CELLCB(idx); histtim_t end_time, timediff; uint_t val; HIST_GET_TIM(&end_time); timediff = end_time - VAR_begin_time; #ifdef HISTTIM_CYCLE if (end_time < VAR_begin_time) { timediff += HISTTIM_CYCLE; } #endif /* HISTTIM_CYCLE */ val = HIST_CONV_TIM(timediff); if (val <= ATTR_maxTime) { VAR_histarea[val]++; } else if (val <= ((uint_t) INT_MAX)) { VAR_over++; } else { VAR_under++; } return(E_OK); }
/* * 実行時間計測の開始(受け口関数) */ ER eHistogram_beginMeasure(CELLIDX idx) { CELLCB *p_cellcb = GET_CELLCB(idx); HIST_BM_HOOK(); HIST_GET_TIM(&VAR_begin_time); return(E_OK); }
/* * 実行時間計測の開始 */ void begin_measure(ID histid) { HISTCB *p_histcb; assert(TMIN_HISTID <= histid && histid <= TMAX_HISTID); p_histcb = &(histcb_table[histid - TMIN_HISTID]); HIST_BM_HOOK(); HIST_GET_TIM(&(p_histcb->begin_time)); }
/* * 実行時間計測の終了 */ void end_measure(ID histid) { HISTCB *p_histcb; HISTTIM end_time; uint_t val; HIST_GET_TIM(&end_time); assert(TMIN_HISTID <= histid && histid <= TMAX_HISTID); p_histcb = &(histcb_table[histid - TMIN_HISTID]); val = HIST_CONV_TIM(end_time - p_histcb->begin_time); if (val <= p_histcb->maxval) { p_histcb->histarea[val]++; } else if (val <= ((uint_t) INT_MAX)) { p_histcb->over++; } else { p_histcb->under++; } }