bug-global
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[PATCH] change output of htags --statistics


From: Hideki IWAMOTO
Subject: [PATCH] change output of htags --statistics
Date: Mon, 02 Nov 2009 10:53:35 +0900

Hi.

Currently, `htags --statistics' outputs elapsed times with the accuracy of 
second.
It is preferable that the CPU time is output and the elapsed time is output by 
higher accuracy.

This patch changes `htags --statistics' as follows. 

#if HAVE_GETRUSAGE && HAVE_GETTIMEOFDAY
     Use gettimeofday() to get elapsed time.
     Use getrusage() to get CPU time.
#elif HAVE_TIMES
  #if HAVE_GETTIMEOFDAY
     Use gettimeofday() to get elapsed time.
     Use times() to get CPU time.
  #else
     Use times() to get elapsed time and CPU time.
  #endif
#else
  #if HAVE_GETTIMEOFDAY
     Use gettimeofday() to get elapsed time.
  #else
     Use time() to get elapsed time.
  #endif
#endif


The output in each case is as follows. 

======== Case 1 =============================================================
#define HAVE_GETRUSAGE 1
#define HAVE_GETTIMEOFDAY 1

$ htags --statistics
period                            user[sec] system[sec] elapsed[sec]  %CPU
--------------------------------- --------- ----------- ------------ -----
Time of making duplicate entries      1.988       0.184        1.420 153.0
Time of making function index         0.272       0.036        0.281 109.7
Time of making file index             0.028       0.012        0.042  96.3
Time of making include file index     1.120       0.092        1.216  99.7
Time of making hypertext             18.701       1.888       15.474 133.1
The entire time                      22.113       2.220       18.440 132.0

======== Case 2 =============================================================
#undef HAVE_GETRUSAGE
#define HAVE_GETTIMEOFDAY 1
#define HAVE_TIMES 1

$ htags --statistics
period                            user[sec] system[sec] elapsed[sec]  %CPU
--------------------------------- --------- ----------- ------------ -----
Time of making duplicate entries      1.970       0.170        1.527 140.1
Time of making function index         0.290       0.020        0.278 111.6
Time of making file index             0.030       0.010        0.041  97.8
Time of making include file index     1.110       0.080        1.201  99.1
Time of making hypertext             18.060       1.980       15.221 131.7
The entire time                      21.460       2.260       18.276 129.8

======== Case 3 =============================================================
#undef HAVE_GETRUSAGE
#undef HAVE_GETTIMEOFDAY
#define HAVE_TIMES 1

$ htags --statistics
period                            user[sec] system[sec] elapsed[sec]  %CPU
--------------------------------- --------- ----------- ------------ -----
Time of making duplicate entries      2.020       0.190        1.550 142.6
Time of making function index         0.260       0.040        0.280 107.1
Time of making file index             0.020       0.030        0.040 125.0
Time of making include file index     1.070       0.110        1.170 100.9
Time of making hypertext             18.580       2.190       15.310 135.7
The entire time                      21.950       2.560       18.360 133.5

======== Case 4 =============================================================
#undef HAVE_GETRUSAGE
#define HAVE_GETTIMEOFDAY 1
#undef HAVE_TIMES

$ htags --statistics
period                            elapsed[sec]
--------------------------------- ------------
Time of making duplicate entries         1.405
Time of making function index            0.294
Time of making file index                0.042
Time of making include file index        1.157
Time of making hypertext                15.555
The entire time                         18.461

======== Case 5 =============================================================
#undef HAVE_GETRUSAGE
#undef HAVE_GETTIMEOFDAY
#undef HAVE_TIMES

$ htags --statistics
period                            elapsed[sec]
--------------------------------- ------------
Time of making duplicate entries         2.000
Time of making function index            0.000
Time of making file index                0.000
Time of making include file index        1.000
Time of making hypertext                15.000
The entire time                         18.000


Diffstat:
 configure.ac         |    2
 htags/htags.c        |   50 +----
 libutil/Makefile.am  |    4
 libutil/global.h     |    1
 libutil/statistics.c |  493 +++++++++++++++++++++++++++++++++++++++++++++++++++
 libutil/statistics.h |   84 ++++++++
 libutil/strbuf.c     |   15 +
 libutil/strbuf.h     |    4
 8 files changed, 616 insertions(+), 37 deletions(-)

----
Hideki IWAMOTO  address@hidden

Attachment: 20091102-statistics-5.patch
Description: Binary data


reply via email to

[Prev in Thread] Current Thread [Next in Thread]