Friendly ping. Could someone please take a look? Thanks! On Mon, Apr 23, 2018 at 2:29 PM, Mark Wachsler <wachs...@google.com> wrote:
> Ping. > > On Fri, Apr 20, 2018 at 4:21 PM, Mark Wachsler <wachs...@google.com> > wrote: > >> The -benchmark and -benchmark_all options now show user, system, and real >> time, >> instead of just user time. >> --- >> fftools/ffmpeg.c | 50 ++++++++++++++++++++++++++++++++++-------------- >> 1 file changed, 36 insertions(+), 14 deletions(-) >> >> diff --git a/fftools/ffmpeg.c b/fftools/ffmpeg.c >> index 4dbe72186d..d37171d567 100644 >> --- a/fftools/ffmpeg.c >> +++ b/fftools/ffmpeg.c >> @@ -120,8 +120,14 @@ const char *const forced_keyframes_const_names[] = { >> NULL >> }; >> >> +typedef struct TimeStamps { >> + int64_t real_usec; >> + int64_t user_usec; >> + int64_t sys_usec; >> +} TimeStamps; >> + >> static void do_video_stats(OutputStream *ost, int frame_size); >> -static int64_t getutime(void); >> +static TimeStamps get_time_stamps(void); >> static int64_t getmaxrss(void); >> static int ifilter_has_all_input_formats(FilterGraph *fg); >> >> @@ -133,7 +139,7 @@ static int64_t decode_error_stat[2]; >> >> static int want_sdp = 1; >> >> -static int current_time; >> +static TimeStamps current_time; >> AVIOContext *progress_avio = NULL; >> >> static uint8_t *subtitle_out; >> @@ -653,7 +659,7 @@ static void abort_codec_experimental(AVCodec *c, int >> encoder) >> static void update_benchmark(const char *fmt, ...) >> { >> if (do_benchmark_all) { >> - int64_t t = getutime(); >> + TimeStamps t = get_time_stamps(); >> va_list va; >> char buf[1024]; >> >> @@ -661,7 +667,11 @@ static void update_benchmark(const char *fmt, ...) >> va_start(va, fmt); >> vsnprintf(buf, sizeof(buf), fmt, va); >> va_end(va); >> - av_log(NULL, AV_LOG_INFO, "bench: %8"PRIu64" %s \n", t - >> current_time, buf); >> + av_log(NULL, AV_LOG_INFO, >> + "bench: %8" PRIu64 " user %8" PRIu64 " sys %8" PRIu64 >> " real %s \n", >> + t.user_usec - current_time.user_usec, >> + t.sys_usec - current_time.sys_usec, >> + t.real_usec - current_time.real_usec, buf); >> } >> current_time = t; >> } >> @@ -4715,23 +4725,30 @@ static int transcode(void) >> return ret; >> } >> >> - >> -static int64_t getutime(void) >> -{ >> +static TimeStamps get_time_stamps(void) { >> + TimeStamps time_stamps; >> + time_stamps.real_usec = av_gettime_relative(); >> #if HAVE_GETRUSAGE >> struct rusage rusage; >> >> getrusage(RUSAGE_SELF, &rusage); >> - return (rusage.ru_utime.tv_sec * 1000000LL) + >> rusage.ru_utime.tv_usec; >> + time_stamps.user_usec = >> + (rusage.ru_utime.tv_sec * 1000000LL) + rusage.ru_utime.tv_usec; >> + time_stamps.sys_usec = >> + (rusage.ru_stime.tv_sec * 1000000LL) + rusage.ru_stime.tv_usec; >> #elif HAVE_GETPROCESSTIMES >> HANDLE proc; >> FILETIME c, e, k, u; >> proc = GetCurrentProcess(); >> GetProcessTimes(proc, &c, &e, &k, &u); >> - return ((int64_t) u.dwHighDateTime << 32 | u.dwLowDateTime) / 10; >> + time_stamps.user_usec = >> + ((int64_t)u.dwHighDateTime << 32 | u.dwLowDateTime) / 10; >> + time_stamps.sys_usec = >> + ((int64_t)k.dwHighDateTime << 32 | k.dwLowDateTime) / 10; >> #else >> - return av_gettime_relative(); >> + time_stamps.user_usec = time_stamps.sys_usec = 0; >> #endif >> + return time_stamps; >> } >> >> static int64_t getmaxrss(void) >> @@ -4759,7 +4776,7 @@ static void log_callback_null(void *ptr, int level, >> const char *fmt, va_list vl) >> int main(int argc, char **argv) >> { >> int i, ret; >> - int64_t ti; >> + TimeStamps ti; >> >> init_dynload(); >> >> @@ -4811,12 +4828,17 @@ int main(int argc, char **argv) >> want_sdp = 0; >> } >> >> - current_time = ti = getutime(); >> + current_time = ti = get_time_stamps(); >> if (transcode() < 0) >> exit_program(1); >> - ti = getutime() - ti; >> if (do_benchmark) { >> - av_log(NULL, AV_LOG_INFO, "bench: utime=%0.3fs\n", ti / >> 1000000.0); >> + current_time = get_time_stamps(); >> + int64_t utime = current_time.user_usec - ti.user_usec; >> + int64_t stime = current_time.sys_usec - ti.sys_usec; >> + int64_t rtime = current_time.real_usec - ti.real_usec; >> + av_log(NULL, AV_LOG_INFO, >> + "bench: utime=%0.3fs stime=%0.3fs rtime=%0.3fs\n", >> + utime / 1000000.0, stime / 1000000.0, rtime / 1000000.0); >> } >> av_log(NULL, AV_LOG_DEBUG, "%"PRIu64" frames successfully decoded, >> %"PRIu64" decoding errors\n", >> decode_error_stat[0], decode_error_stat[1]); >> -- >> 2.17.0.484.g0c8726318c-goog >> >> > _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel