[commit: ghc] master: Fix bug in one-line stats printing (8ae1fd3)
Simon Marlow
marlowsd at gmail.com
Wed May 11 11:53:38 CEST 2011
Repository : ssh://darcs.haskell.org//srv/darcs/ghc
On branch : master
http://hackage.haskell.org/trac/ghc/changeset/8ae1fd33175b70e46c233d22195e7fc8e16997bf
>---------------------------------------------------------------
commit 8ae1fd33175b70e46c233d22195e7fc8e16997bf
Author: David M Peixotto <dmp at rice.edu>
Date: Tue May 10 12:40:23 2011 -0500
Fix bug in one-line stats printing
The code that prints the "one-line" stats (i.e. the RTS -t flag) was
incorreclty printing zeros for some time values. These time values
were computed inside a conditional that was only true when printing
detailed stats (i.e. the RTS -s or -S flags).
This commit simply moves the computation out of the conditional so
they are available for the one-line stats output.
>---------------------------------------------------------------
rts/Stats.c | 24 ++++++++++++------------
1 files changed, 12 insertions(+), 12 deletions(-)
diff --git a/rts/Stats.c b/rts/Stats.c
index fa38472..3036ed7 100644
--- a/rts/Stats.c
+++ b/rts/Stats.c
@@ -547,6 +547,18 @@ stat_exit(int alloc)
gc_elapsed += GC_coll_elapsed[i];
}
+ init_cpu = end_init_cpu - start_init_cpu;
+ init_elapsed = end_init_elapsed - start_init_elapsed;
+
+ exit_cpu = end_exit_cpu - start_exit_cpu;
+ exit_elapsed = end_exit_elapsed - start_exit_elapsed;
+
+ mut_elapsed = start_exit_elapsed - end_init_elapsed - gc_elapsed;
+
+ mut_cpu = start_exit_cpu - end_init_cpu - gc_cpu
+ - PROF_VAL(RP_tot_time + HC_tot_time);
+ if (mut_cpu < 0) { mut_cpu = 0; }
+
if (RtsFlags.GcFlags.giveStats >= SUMMARY_GC_STATS) {
showStgWord64(GC_tot_alloc*sizeof(W_),
temp, rtsTrue/*commas*/);
@@ -635,21 +647,9 @@ stat_exit(int alloc)
}
#endif
- init_cpu = end_init_cpu - start_init_cpu;
- init_elapsed = end_init_elapsed - start_init_elapsed;
-
- exit_cpu = end_exit_cpu - start_exit_cpu;
- exit_elapsed = end_exit_elapsed - start_exit_elapsed;
-
statsPrintf(" INIT time %6.2fs (%6.2fs elapsed)\n",
TICK_TO_DBL(init_cpu), TICK_TO_DBL(init_elapsed));
- mut_elapsed = start_exit_elapsed - end_init_elapsed - gc_elapsed;
-
- mut_cpu = start_exit_cpu - end_init_cpu - gc_cpu
- - PROF_VAL(RP_tot_time + HC_tot_time);
- if (mut_cpu < 0) { mut_cpu = 0; }
-
statsPrintf(" MUT time %6.2fs (%6.2fs elapsed)\n",
TICK_TO_DBL(mut_cpu), TICK_TO_DBL(mut_elapsed));
statsPrintf(" GC time %6.2fs (%6.2fs elapsed)\n",
More information about the Cvs-ghc
mailing list