summaryrefslogtreecommitdiff
path: root/rts/Stats.c
diff options
context:
space:
mode:
authorSimon Marlow <simonmar@microsoft.com>2007-10-31 14:45:42 +0000
committerSimon Marlow <simonmar@microsoft.com>2007-10-31 14:45:42 +0000
commitcacd714cd545bc3bd07882904055cfee162bd7de (patch)
tree8bf670e81476c6941b1250e09afc43c6866a8989 /rts/Stats.c
parentc357244371ca5eeaa0d56a6bd349e26a3b16b7dc (diff)
downloadhaskell-cacd714cd545bc3bd07882904055cfee162bd7de.tar.gz
Remove the optimisation of avoiding scavenging for certain objects
Some objects don't need to be scavenged, in particular if they have no pointers. This seems like an obvious optimisation, but in fact it only accounts for about 1% of objects (in GHC, for example), and the extra complication means it probably isn't worth doing.
Diffstat (limited to 'rts/Stats.c')
-rw-r--r--rts/Stats.c13
1 files changed, 3 insertions, 10 deletions
diff --git a/rts/Stats.c b/rts/Stats.c
index f18e26fbd5..1b0abaa4e4 100644
--- a/rts/Stats.c
+++ b/rts/Stats.c
@@ -41,7 +41,6 @@ static Ticks ExitElapsedTime = 0;
static ullong GC_tot_alloc = 0;
static ullong GC_tot_copied = 0;
-static ullong GC_tot_scavd_copied = 0;
static Ticks GC_start_time = 0, GC_tot_time = 0; /* User GC Time */
static Ticks GCe_start_time = 0, GCe_tot_time = 0; /* Elapsed GC time */
@@ -288,8 +287,7 @@ stat_startGC(void)
-------------------------------------------------------------------------- */
void
-stat_endGC (lnat alloc, lnat live, lnat copied,
- lnat scavd_copied, lnat gen)
+stat_endGC (lnat alloc, lnat live, lnat copied, lnat gen)
{
if (RtsFlags.GcFlags.giveStats != NO_GC_STATS) {
Ticks time, etime, gc_time, gc_etime;
@@ -302,7 +300,7 @@ stat_endGC (lnat alloc, lnat live, lnat copied,
nat faults = getPageFaults();
statsPrintf("%9ld %9ld %9ld",
- alloc*sizeof(W_), (copied+scavd_copied)*sizeof(W_),
+ alloc*sizeof(W_), copied*sizeof(W_),
live*sizeof(W_));
statsPrintf(" %5.2f %5.2f %7.2f %7.2f %4ld %4ld (Gen: %2ld)\n",
TICK_TO_DBL(gc_time),
@@ -320,7 +318,6 @@ stat_endGC (lnat alloc, lnat live, lnat copied,
GC_coll_times[gen] += gc_time;
GC_tot_copied += (ullong) copied;
- GC_tot_scavd_copied += (ullong) scavd_copied;
GC_tot_alloc += (ullong) alloc;
GC_tot_time += gc_time;
GCe_tot_time += gc_etime;
@@ -522,12 +519,8 @@ stat_exit(int alloc)
ullong_format_string(GC_tot_copied*sizeof(W_),
temp, rtsTrue/*commas*/);
- statsPrintf("%11s bytes copied during GC (scavenged)\n", temp);
+ statsPrintf("%11s bytes copied during GC\n", temp);
- ullong_format_string(GC_tot_scavd_copied*sizeof(W_),
- temp, rtsTrue/*commas*/);
- statsPrintf("%11s bytes copied during GC (not scavenged)\n", temp);
-
if ( ResidencySamples > 0 ) {
ullong_format_string(MaxResidency*sizeof(W_),
temp, rtsTrue/*commas*/);