From 55699c6a3cb7b3bb3413c89a2d0172786aa4e67b Mon Sep 17 00:00:00 2001 From: nick black Date: Wed, 22 Jan 2020 08:28:56 -0500 Subject: [PATCH] render summary: autoscale all times --- include/notcurses.h | 2 +- src/lib/notcurses.c | 12 +++++++----- 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/include/notcurses.h b/include/notcurses.h index 2d6e85ec8..acfd0bcb7 100644 --- a/include/notcurses.h +++ b/include/notcurses.h @@ -1988,7 +1988,7 @@ API const struct ncplane* tablet_ncplane_const(const struct tablet* t); API const char* enmetric(uintmax_t val, unsigned decimal, char* buf, int omitdec, unsigned mult, int uprefix); -// Mega, kilo, gigabytes. Use PREFIXSTRLEN + 1. +// Mega, kilo, gigafoo. Use PREFIXSTRLEN + 1. static inline const char* qprefix(uintmax_t val, unsigned decimal, char* buf, int omitdec){ return enmetric(val, decimal, buf, omitdec, 1000, '\0'); diff --git a/src/lib/notcurses.c b/src/lib/notcurses.c index 2d4dbed42..13e8d2d57 100644 --- a/src/lib/notcurses.c +++ b/src/lib/notcurses.c @@ -918,13 +918,15 @@ int notcurses_stop(notcurses* nc){ char totalbuf[BPREFIXSTRLEN + 1]; char minbuf[BPREFIXSTRLEN + 1]; char maxbuf[BPREFIXSTRLEN + 1]; + char avgbuf[BPREFIXSTRLEN + 1]; double avg = nc->stashstats.render_ns / (double)nc->stashstats.renders; - fprintf(stderr, "\n%ju render%s, %.03gs total (%.03gs min, %.03gs max, %.03gs avg %.1f fps)\n", + qprefix(nc->stashstats.render_ns, NANOSECS_IN_SEC, totalbuf, 0); + qprefix(nc->stashstats.render_min_ns, NANOSECS_IN_SEC, minbuf, 0); + qprefix(nc->stashstats.render_max_ns, NANOSECS_IN_SEC, maxbuf, 0); + qprefix(nc->stashstats.render_ns / nc->stashstats.renders, NANOSECS_IN_SEC, avgbuf, 0); + fprintf(stderr, "\n%ju render%s, %ss total (%ss min, %ss max, %ss avg %.1f fps)\n", nc->stashstats.renders, nc->stashstats.renders == 1 ? "" : "s", - nc->stashstats.render_ns / 1000000000.0, - nc->stashstats.render_min_ns / 1000000000.0, - nc->stashstats.render_max_ns / 1000000000.0, - avg / NANOSECS_IN_SEC, NANOSECS_IN_SEC / avg); + totalbuf, minbuf, maxbuf, avgbuf, NANOSECS_IN_SEC / avg); avg = nc->stashstats.render_bytes / (double)nc->stashstats.renders; bprefix(nc->stashstats.render_bytes, 1, totalbuf, 0), bprefix(nc->stashstats.render_min_bytes, 1, minbuf, 0),