void gt_timer_show_progress_final(GT_UNUSED GtTimer *t, GT_UNUSED FILE *fp) { #ifndef _WIN32 struct timeval elapsed_tv, elapsed_user_tv, elapsed_sys_tv; const char overall_desc[] = "overall"; gt_timer_stop(t); if (!t->omit_last_stage) { timeval_subtract(&elapsed_tv, &t->stop_tv, &t->start_tv); timeval_subtract(&elapsed_user_tv, &t->stop_ru.ru_utime, &t->start_ru.ru_utime); timeval_subtract(&elapsed_sys_tv, &t->stop_ru.ru_stime, &t->start_ru.ru_stime); gt_timer_print_progress_report(t, &elapsed_tv, &elapsed_user_tv, &elapsed_sys_tv, t->statedesc, fp); } timeval_subtract(&elapsed_tv, &t->stop_tv, &t->gstart_tv); timeval_subtract(&elapsed_user_tv, &t->stop_ru.ru_utime, &t->gstart_ru.ru_utime); timeval_subtract(&elapsed_sys_tv, &t->stop_ru.ru_stime, &t->gstart_ru.ru_stime); gt_timer_print_progress_report(t, &elapsed_tv, &elapsed_user_tv, &elapsed_sys_tv, overall_desc, fp); #else /* XXX */ fprintf(stderr, "gt_timer_show_progress_final() not implemented\n"); exit(EXIT_FAILURE); #endif }
void gt_timer_show_progress_va(GtTimer *t, FILE *fp, const char *desc, va_list ap) { #ifndef _WIN32 char buf[BUFSIZ]; struct timeval elapsed_tv, elapsed_user_tv, elapsed_sys_tv; gt_assert(t && desc); gettimeofday(&t->stop_tv, NULL); gt_xgetrusage(RUSAGE_SELF, &t->stop_ru); timeval_subtract(&elapsed_tv, &t->stop_tv, &t->start_tv); timeval_subtract(&elapsed_user_tv, &t->stop_ru.ru_utime, &t->start_ru.ru_utime); timeval_subtract(&elapsed_sys_tv, &t->stop_ru.ru_stime, &t->start_ru.ru_stime); gt_timer_print_progress_report(t, &elapsed_tv, &elapsed_user_tv, &elapsed_sys_tv, t->statedesc, fp); if (t->statedesc) gt_free(t->statedesc); (void) vsnprintf(buf, BUFSIZ, desc, ap); t->statedesc = gt_cstr_dup(buf); gettimeofday(&t->start_tv, NULL); gt_xgetrusage(RUSAGE_SELF, &t->start_ru); #else /* XXX */ fprintf(stderr, "gt_timer_show_progress_va() not implemented\n"); exit(EXIT_FAILURE); #endif }
void gt_timer_show_progress_final(GtTimer *t, FILE *fp) { struct timeval elapsed_tv, elapsed_user_tv, elapsed_sys_tv; const char overall_desc[] = "overall"; gt_timer_stop(t); if (!t->omit_last_stage) { timeval_subtract(&elapsed_tv, &t->stop_tv, &t->start_tv); timeval_subtract(&elapsed_user_tv, &t->stop_ru.ru_utime, &t->start_ru.ru_utime); timeval_subtract(&elapsed_sys_tv, &t->stop_ru.ru_stime, &t->start_ru.ru_stime); gt_timer_print_progress_report(t, &elapsed_tv, &elapsed_user_tv, &elapsed_sys_tv, t->statedesc, fp); } timeval_subtract(&elapsed_tv, &t->stop_tv, &t->gstart_tv); timeval_subtract(&elapsed_user_tv, &t->stop_ru.ru_utime, &t->gstart_ru.ru_utime); timeval_subtract(&elapsed_sys_tv, &t->stop_ru.ru_stime, &t->gstart_ru.ru_stime); gt_timer_print_progress_report(t, &elapsed_tv, &elapsed_user_tv, &elapsed_sys_tv, overall_desc, fp); }
void gt_timer_show_progress_va(GtTimer *t, FILE *fp, const char *desc, va_list ap) { char buf[BUFSIZ]; struct timeval elapsed_tv, elapsed_user_tv, elapsed_sys_tv; gt_assert(t && desc); gettimeofday(&t->stop_tv, NULL); gt_xgetrusage(RUSAGE_SELF, &t->stop_ru); timeval_subtract(&elapsed_tv, &t->stop_tv, &t->start_tv); timeval_subtract(&elapsed_user_tv, &t->stop_ru.ru_utime, &t->start_ru.ru_utime); timeval_subtract(&elapsed_sys_tv, &t->stop_ru.ru_stime, &t->start_ru.ru_stime); gt_timer_print_progress_report(t, &elapsed_tv, &elapsed_user_tv, &elapsed_sys_tv, t->statedesc, fp); if (t->statedesc) gt_free(t->statedesc); (void) vsnprintf(buf, BUFSIZ, desc, ap); t->statedesc = gt_cstr_dup(buf); gettimeofday(&t->start_tv, NULL); gt_xgetrusage(RUSAGE_SELF, &t->start_ru); }