Mercurial > gnulib
changeset 39910:2d11cb9d68cb
timevar: improve the output format
From:
Execution times (seconds)
reader : 0,01 ( 3%) usr 0,00 (16%) sys 0,00 ( 0%) wall
outputting report : 0,03 ( 6%) usr 0,00 (15%) sys 0,00 ( 0%) wall
parser action tables : 0,02 ( 4%) usr 0,00 ( 2%) sys 0,00 ( 0%) wall
outputting parser : 0,01 ( 2%) usr 0,00 (13%) sys 0,00 ( 0%) wall
running m4 : 0,37 (84%) usr 0,00 (50%) sys 0,00 ( 0%) wall
total time : 0,44 0,01 0,00
To:
Execution times (seconds)
CPU user CPU system wall clock
reader 0,020 ( 4%) 0,002 ( 9%) 0,000000 ( 0%)
outputting report 0,029 ( 6%) 0,002 (11%) 0,000000 ( 0%)
parser action tables 0,020 ( 4%) 0,001 ( 6%) 0,000000 ( 0%)
outputting parser 0,014 ( 3%) 0,002 (10%) 0,000000 ( 0%)
running m4 0,431 (83%) 0,012 (59%) 0,000000 ( 0%)
total time 0,522 0,020 0,000000
Suggested by Bruno Haible.
See https://lists.gnu.org/archive/html/bug-gnulib/2018-10/msg00040.html.
* lib/timevar.c (timevar_print): Use %7.3f for usr/sys and %11.6f for
wall, since its resolution is much higher.
author | Akim Demaille <akim.demaille@gmail.com> |
---|---|
date | Thu, 11 Oct 2018 22:15:36 +0200 |
parents | 24499928832b |
children | 5f0ef98dc2ce |
files | ChangeLog lib/timevar.c |
diffstat | 2 files changed, 20 insertions(+), 9 deletions(-) [+] |
line wrap: on
line diff
--- a/ChangeLog Thu Oct 11 17:54:35 2018 +0200 +++ b/ChangeLog Thu Oct 11 22:15:36 2018 +0200 @@ -1,3 +1,11 @@ +2018-10-13 Akim Demaille <akim@lrde.epita.fr> + + timevar: improve the output format + Suggested by Bruno Haible. + See https://lists.gnu.org/archive/html/bug-gnulib/2018-10/msg00040.html. + * lib/timevar.c (timevar_print): Use %7.3f for usr/sys and %11.6f for + wall, since its resolution is much higher. + 2018-10-13 Akim Demaille <akim@lrde.epita.fr> timevar: expect that getrusage is available.
--- a/lib/timevar.c Thu Oct 11 17:54:35 2018 +0200 +++ b/lib/timevar.c Thu Oct 11 22:15:36 2018 +0200 @@ -304,7 +304,10 @@ struct timevar_time_def const* total = &timevars[tv_total].elapsed; - fputs (_("\nExecution times (seconds)\n"), fp); + fprintf (fp, "%-22s\n", + _("Execution times (seconds)")); + fprintf (fp, " %-22s %-13s %-13s %-16s\n", + "", _("CPU user"), _("CPU system"), _("wall clock")); for (unsigned /* timevar_id_t */ id = 0; id < (unsigned) TIMEVAR_LAST; ++id) { struct timevar_def *tv = &timevars[(timevar_id_t) id]; @@ -327,20 +330,20 @@ continue; /* The timing variable name. */ - fprintf (fp, " %-22s:", tv->name); + fprintf (fp, " %-22s", tv->name); /* Print user-mode time for this process. */ - fprintf (fp, "%7.2f (%2.0f%%) usr", + fprintf (fp, "%8.3f (%2.0f%%)", tv->elapsed.user, (total->user == 0 ? 0 : tv->elapsed.user / total->user) * 100); /* Print system-mode time for this process. */ - fprintf (fp, "%7.2f (%2.0f%%) sys", + fprintf (fp, "%8.3f (%2.0f%%)", tv->elapsed.sys, (total->sys == 0 ? 0 : tv->elapsed.sys / total->sys) * 100); /* Print wall clock time elapsed. */ - fprintf (fp, "%7.2f (%2.0f%%) wall", + fprintf (fp, "%11.6f (%2.0f%%)", tv->elapsed.wall, (total->wall == 0 ? 0 : tv->elapsed.wall / total->wall) * 100); @@ -348,8 +351,8 @@ } /* Print total time. */ - fprintf (fp, " %-22s:", timevars[tv_total].name); - fprintf (fp, "%7.2f ", total->user); - fprintf (fp, "%7.2f ", total->sys); - fprintf (fp, "%7.2f\n", total->wall); + fprintf (fp, " %-22s", timevars[tv_total].name); + fprintf (fp, "%8.3f ", total->user); + fprintf (fp, "%8.3f ", total->sys); + fprintf (fp, "%11.6f\n", total->wall); }