|
From: <sv...@va...> - 2007-09-21 00:26:56
|
Author: njn
Date: 2007-09-21 01:26:56 +0100 (Fri, 21 Sep 2007)
New Revision: 6881
Log:
- Improve the sampling approach: after culling, our minimum time interval
now becomes the minimum timespan in the remaining snapshots. That ensures
even sampling frequency, and avoids the previous possibility of sampling
more frequently in the 2nd half of the snapshots.
- Don't take a snapshot at the end, it's not necessary.
- Add two tests for the -v culling output.
- Rename some counters.
- Add some notes.
Added:
branches/MASSIF2/massif/tests/culling1.c
branches/MASSIF2/massif/tests/culling1.stderr.exp
branches/MASSIF2/massif/tests/culling1.vgtest
branches/MASSIF2/massif/tests/culling2.c
branches/MASSIF2/massif/tests/culling2.stderr.exp
branches/MASSIF2/massif/tests/culling2.vgtest
branches/MASSIF2/massif/tests/filter_verbose
Modified:
branches/MASSIF2/massif/ms_main.c
branches/MASSIF2/massif/tests/Makefile.am
Modified: branches/MASSIF2/massif/ms_main.c
===================================================================
--- branches/MASSIF2/massif/ms_main.c 2007-09-20 22:42:04 UTC (rev 6880)
+++ branches/MASSIF2/massif/ms_main.c 2007-09-21 00:26:56 UTC (rev 6881)
@@ -31,6 +31,10 @@
// XXX:
//---------------------------------------------------------------------------
// Todo:
+// - do a test where the time exceeds 32-bits
+// - do a test with no allocations -- bar should be zero sized in graph?
+// - do tests with complicated stack traces -- big ones, ones that require
+// XCon_redo, etc.
// - test what happens when alloc-fns cover an entire trace
// - write a good basic test that shows how the tool works, suitable for
// documentation
@@ -306,19 +310,19 @@
// - 15,000 XPts 800,000 XPts
// - 1,800 top-XPts
-static UInt n_xpts = 0;
-static UInt n_dupd_xpts = 0;
-static UInt n_dupd_xpts_freed = 0;
-static UInt n_allocs = 0;
-static UInt n_zero_allocs = 0;
-static UInt n_frees = 0;
-static UInt n_children_reallocs = 0;
+static UInt n_xpts = 0;
+static UInt n_dupd_xpts = 0;
+static UInt n_dupd_xpts_freed = 0;
+static UInt n_allocs = 0;
+static UInt n_zero_allocs = 0;
+static UInt n_frees = 0;
+static UInt n_xpt_expansions = 0;
-static UInt n_getXCon_redo = 0;
+static UInt n_getXCon_redo = 0;
-static UInt n_cullings = 0;
-static UInt n_real_snapshots = 0;
-static UInt n_fake_snapshots = 0;
+static UInt n_cullings = 0;
+static UInt n_real_snapshots = 0;
+static UInt n_skipped_snapshots = 0;
//------------------------------------------------------------//
@@ -546,7 +550,7 @@
parent->children = VG_(realloc)( parent->children,
parent->max_children * sizeof(XPt*) );
}
- n_children_reallocs++;
+ n_xpt_expansions++;
}
// Insert new child XPt in parent's children list.
@@ -941,11 +945,14 @@
// smallest snapshots in one hit, because when a snapshot is removed, its
// neighbours immediately cover greater timespans. So it's O(N^2), but N is
// small, and it's not done very often.
-static void cull_snapshots(void)
+//
+// Once we're done, we return the new smallest interval between snapshots.
+// That becomes our minimum time interval.
+static UInt cull_snapshots(void)
{
- Int i, jp, j, jn;
- Int n_deleted = 0;
- Long min_timespan = 0x7fffffff;
+ Int i, jp, j, jn, min_timespan_i;
+ Int n_deleted = 0;
+ Long min_timespan;
n_cullings++;
@@ -955,8 +962,9 @@
j < MAX_N_SNAPSHOTS && !is_snapshot_in_use(&snapshots[j]); \
j++) { }
- if (VG_(clo_verbosity) > 1)
+ if (VG_(clo_verbosity) > 1) {
VERB("Culling...");
+ }
// First we remove enough snapshots by clearing them in-place. Once
// that's done, we can slide the remaining ones down.
@@ -1015,14 +1023,34 @@
// Check snapshots array looks ok after changes.
sanity_check_snapshots_array();
+ // Find the minimum timespan remaining; that will be our new minimum
+ // time interval. Note that above we were finding timespans by measuring
+ // two intervals around a snapshot that was under consideration for
+ // deletion. Here we only measure single intervals because all the
+ // deletions have occurred.
+ tl_assert(next_snapshot_i > 1);
+ min_timespan = snapshots[1].time - snapshots[0].time;
+ min_timespan_i = 1;
+ for (i = 2; i < next_snapshot_i; i++) {
+ Long timespan = snapshots[i].time - snapshots[i-1].time;
+ tl_assert(timespan >= 0);
+ if (timespan < min_timespan) {
+ min_timespan = timespan;
+ min_timespan_i = i;
+ }
+ }
+
// Print remaining snapshots, if necessary.
if (VG_(clo_verbosity) > 1) {
VERB("Finished culling (%3d of %3d deleted)", n_deleted, MAX_N_SNAPSHOTS);
for (i = 0; i < next_snapshot_i; i++) {
VERB_snapshot(" new", i);
}
- VERB("New time interval = %ld", min_timespan);
+ VERB("New time interval = %lld (between snapshots %d and %d)",
+ min_timespan, min_timespan_i-1, min_timespan_i);
}
+
+ return min_timespan;
}
// Take a snapshot. Note that with bigger depths, snapshots can be slow,
@@ -1030,12 +1058,17 @@
// [XXX: is that still true?]
static void take_snapshot(void)
{
- static UInt time_interval = 5;
- static UInt time_of_prev_snapshot = 0;
- static UInt time_of_next_snapshot = 0; // zero allows startup snapshot
+ // 'min_time_interval' is the minimum time interval between snapshots;
+ // if we try to take a snapshot and less than this much time has passed,
+ // we don't take it. Initialised to zero so that we begin by taking
+ // snapshots as quickly as possible.
+ static Long min_time_interval = 0;
+ static Long time_of_prev_snapshot = 0;
+ // Zero allows startup snapshot.
+ static Long earliest_possible_time_of_next_snapshot = 0;
static Int n_snapshots_since_last_detailed = 0;
- Int time, time_since_prev;
+ Long time, time_since_prev;
Snapshot* snapshot;
Int this_snapshot_i = next_snapshot_i;
@@ -1046,8 +1079,8 @@
// Only do a snapshot if it's time.
time_since_prev = time - time_of_prev_snapshot;
- if (time < time_of_next_snapshot) {
- n_fake_snapshots++;
+ if (time < earliest_possible_time_of_next_snapshot) {
+ n_skipped_snapshots++;
return;
}
@@ -1105,20 +1138,14 @@
VERB_snapshot("took", this_snapshot_i);
}
- // Cull the entries, if our snapshot table is full
+ // Cull the entries, if our snapshot table is full.
if (MAX_N_SNAPSHOTS == next_snapshot_i) {
- cull_snapshots();
- time_interval *= 2;
+ min_time_interval = cull_snapshots();
}
- // Take time for the next snapshot from now, rather than when this
- // snapshot should have happened. Because the time_interval is the
- // minimum time between snapshots -- if there's a big gap due to a kernel
- // operation or something, there's no point doing catch-up snapshots
- // every allocation for a while -- that would just give N snapshots at
- // almost the same time.
+ // Work out the earliest time when the next snapshot can happen.
time_of_prev_snapshot = time;
- time_of_next_snapshot = time + time_interval;
+ earliest_possible_time_of_next_snapshot = time + min_time_interval;
}
@@ -1609,31 +1636,28 @@
static void ms_fini(Int exit_status)
{
- // Do a final (empty) sample to show program's end
- take_snapshot();
-
// Output.
write_detailed_snapshots();
// Stats
if (VG_(clo_verbosity) > 1) {
tl_assert(n_xpts > 0); // always have alloc_xpt
- VERB("allocs: %u", n_allocs);
- VERB("zeroallocs: %u (%d%%)",
+ VERB("allocs: %u", n_allocs);
+ VERB("zeroallocs: %u (%d%%)",
n_zero_allocs,
( n_allocs ? n_zero_allocs * 100 / n_allocs : 0 ));
- VERB("frees: %u", n_frees);
- VERB("XPts: %u", n_xpts);
- VERB("top-XPts: %u (%d%%)",
+ VERB("frees: %u", n_frees);
+ VERB("XPts: %u", n_xpts);
+ VERB("top-XPts: %u (%d%%)",
alloc_xpt->n_children,
( n_xpts ? alloc_xpt->n_children * 100 / n_xpts : 0));
- VERB("dup'd XPts: %u", n_dupd_xpts);
- VERB("dup'd/freed XPts:%u", n_dupd_xpts_freed);
- VERB("c-reallocs: %u", n_children_reallocs);
- VERB("fake snapshots: %u", n_fake_snapshots);
- VERB("real snapshots: %u", n_real_snapshots);
- VERB("cullings: %u", n_cullings);
- VERB("XCon_redos: %u", n_getXCon_redo);
+ VERB("dup'd XPts: %u", n_dupd_xpts);
+ VERB("dup'd/freed XPts: %u", n_dupd_xpts_freed);
+ VERB("XPt-expansions: %u", n_xpt_expansions);
+ VERB("skipped snapshots: %u", n_skipped_snapshots);
+ VERB("real snapshots: %u", n_real_snapshots);
+ VERB("cullings: %u", n_cullings);
+ VERB("XCon_redos: %u", n_getXCon_redo);
}
}
Modified: branches/MASSIF2/massif/tests/Makefile.am
===================================================================
--- branches/MASSIF2/massif/tests/Makefile.am 2007-09-20 22:42:04 UTC (rev 6880)
+++ branches/MASSIF2/massif/tests/Makefile.am 2007-09-21 00:26:56 UTC (rev 6881)
@@ -2,13 +2,15 @@
# For AM_FLAG_M3264_PRI
include $(top_srcdir)/Makefile.flags.am
-noinst_SCRIPTS = filter_stderr
+noinst_SCRIPTS = filter_stderr filter_verbose
EXTRA_DIST = $(noinst_SCRIPTS) \
alloc-fns-A.post.exp alloc-fns-A.stderr.exp alloc-fns-A.vgtest \
alloc-fns-B.post.exp alloc-fns-B.stderr.exp alloc-fns-B.vgtest \
basic.post.exp basic.stderr.exp basic.vgtest \
basic_malloc.stderr.exp basic_malloc.vgtest \
+ culling1.stderr.exp culling1.vgtest \
+ culling2.stderr.exp culling2.vgtest \
thresholds_0_0.post.exp thresholds_0_0.stderr.exp thresholds_0_0.vgtest \
thresholds_0_10.post.exp thresholds_0_10.stderr.exp thresholds_0_10.vgtest \
thresholds_10_0.post.exp thresholds_10_0.stderr.exp thresholds_10_0.vgtest \
@@ -23,5 +25,6 @@
alloc-fns \
basic \
basic_malloc \
+ culling1 culling2
thresholds
Added: branches/MASSIF2/massif/tests/culling1.c
===================================================================
--- branches/MASSIF2/massif/tests/culling1.c (rev 0)
+++ branches/MASSIF2/massif/tests/culling1.c 2007-09-21 00:26:56 UTC (rev 6881)
@@ -0,0 +1,10 @@
+#include <stdlib.h>
+
+int main(void)
+{
+ int i;
+ for (i = 0; i < 200; i++) {
+ malloc(10);
+ }
+ return 0;
+}
Added: branches/MASSIF2/massif/tests/culling1.stderr.exp
===================================================================
--- branches/MASSIF2/massif/tests/culling1.stderr.exp (rev 0)
+++ branches/MASSIF2/massif/tests/culling1.stderr.exp 2007-09-21 00:26:56 UTC (rev 6881)
@@ -0,0 +1,375 @@
+Massif: alloc-fns:
+Massif: 1: calloc
+Massif: 2: realloc
+Massif: 3: memalign
+Massif: 4: __builtin_new
+Massif: 5: __builtin_vec_new
+Massif: 6: malloc
+Massif: took snapshot 0 (t = 0 B)
+Massif: took snapshot 1 (t = 10 B)
+Massif: took snapshot 2 (t = 20 B)
+Massif: took snapshot 3 (t = 30 B)
+Massif: took snapshot 4 (t = 40 B)
+Massif: took snapshot 5 (t = 50 B)
+Massif: took snapshot 6 (t = 60 B)
+Massif: took snapshot 7 (t = 70 B)
+Massif: took snapshot 8 (t = 80 B)
+Massif: took snapshot 9 (t = 90 B) (detailed)
+Massif: took snapshot 10 (t = 100 B)
+Massif: took snapshot 11 (t = 110 B)
+Massif: took snapshot 12 (t = 120 B)
+Massif: took snapshot 13 (t = 130 B)
+Massif: took snapshot 14 (t = 140 B)
+Massif: took snapshot 15 (t = 150 B)
+Massif: took snapshot 16 (t = 160 B)
+Massif: took snapshot 17 (t = 170 B)
+Massif: took snapshot 18 (t = 180 B)
+Massif: took snapshot 19 (t = 190 B) (detailed)
+Massif: took snapshot 20 (t = 200 B)
+Massif: took snapshot 21 (t = 210 B)
+Massif: took snapshot 22 (t = 220 B)
+Massif: took snapshot 23 (t = 230 B)
+Massif: took snapshot 24 (t = 240 B)
+Massif: took snapshot 25 (t = 250 B)
+Massif: took snapshot 26 (t = 260 B)
+Massif: took snapshot 27 (t = 270 B)
+Massif: took snapshot 28 (t = 280 B)
+Massif: took snapshot 29 (t = 290 B) (detailed)
+Massif: took snapshot 30 (t = 300 B)
+Massif: took snapshot 31 (t = 310 B)
+Massif: took snapshot 32 (t = 320 B)
+Massif: took snapshot 33 (t = 330 B)
+Massif: took snapshot 34 (t = 340 B)
+Massif: took snapshot 35 (t = 350 B)
+Massif: took snapshot 36 (t = 360 B)
+Massif: took snapshot 37 (t = 370 B)
+Massif: took snapshot 38 (t = 380 B)
+Massif: took snapshot 39 (t = 390 B) (detailed)
+Massif: took snapshot 40 (t = 400 B)
+Massif: took snapshot 41 (t = 410 B)
+Massif: took snapshot 42 (t = 420 B)
+Massif: took snapshot 43 (t = 430 B)
+Massif: took snapshot 44 (t = 440 B)
+Massif: took snapshot 45 (t = 450 B)
+Massif: took snapshot 46 (t = 460 B)
+Massif: took snapshot 47 (t = 470 B)
+Massif: took snapshot 48 (t = 480 B)
+Massif: took snapshot 49 (t = 490 B) (detailed)
+Massif: took snapshot 50 (t = 500 B)
+Massif: took snapshot 51 (t = 510 B)
+Massif: took snapshot 52 (t = 520 B)
+Massif: took snapshot 53 (t = 530 B)
+Massif: took snapshot 54 (t = 540 B)
+Massif: took snapshot 55 (t = 550 B)
+Massif: took snapshot 56 (t = 560 B)
+Massif: took snapshot 57 (t = 570 B)
+Massif: took snapshot 58 (t = 580 B)
+Massif: took snapshot 59 (t = 590 B) (detailed)
+Massif: took snapshot 60 (t = 600 B)
+Massif: took snapshot 61 (t = 610 B)
+Massif: took snapshot 62 (t = 620 B)
+Massif: took snapshot 63 (t = 630 B)
+Massif: took snapshot 64 (t = 640 B)
+Massif: took snapshot 65 (t = 650 B)
+Massif: took snapshot 66 (t = 660 B)
+Massif: took snapshot 67 (t = 670 B)
+Massif: took snapshot 68 (t = 680 B)
+Massif: took snapshot 69 (t = 690 B) (detailed)
+Massif: took snapshot 70 (t = 700 B)
+Massif: took snapshot 71 (t = 710 B)
+Massif: took snapshot 72 (t = 720 B)
+Massif: took snapshot 73 (t = 730 B)
+Massif: took snapshot 74 (t = 740 B)
+Massif: took snapshot 75 (t = 750 B)
+Massif: took snapshot 76 (t = 760 B)
+Massif: took snapshot 77 (t = 770 B)
+Massif: took snapshot 78 (t = 780 B)
+Massif: took snapshot 79 (t = 790 B) (detailed)
+Massif: took snapshot 80 (t = 800 B)
+Massif: took snapshot 81 (t = 810 B)
+Massif: took snapshot 82 (t = 820 B)
+Massif: took snapshot 83 (t = 830 B)
+Massif: took snapshot 84 (t = 840 B)
+Massif: took snapshot 85 (t = 850 B)
+Massif: took snapshot 86 (t = 860 B)
+Massif: took snapshot 87 (t = 870 B)
+Massif: took snapshot 88 (t = 880 B)
+Massif: took snapshot 89 (t = 890 B) (detailed)
+Massif: took snapshot 90 (t = 900 B)
+Massif: took snapshot 91 (t = 910 B)
+Massif: took snapshot 92 (t = 920 B)
+Massif: took snapshot 93 (t = 930 B)
+Massif: took snapshot 94 (t = 940 B)
+Massif: took snapshot 95 (t = 950 B)
+Massif: took snapshot 96 (t = 960 B)
+Massif: took snapshot 97 (t = 970 B)
+Massif: took snapshot 98 (t = 980 B)
+Massif: took snapshot 99 (t = 990 B) (detailed)
+Massif: Culling...
+Massif: cull 0 (t-span = 20) snapshot 1 (t = 10 B)
+Massif: cull 1 (t-span = 20) snapshot 3 (t = 30 B)
+Massif: cull 2 (t-span = 20) snapshot 5 (t = 50 B)
+Massif: cull 3 (t-span = 20) snapshot 7 (t = 70 B)
+Massif: cull 4 (t-span = 20) snapshot 9 (t = 90 B) (detailed)
+Massif: cull 5 (t-span = 20) snapshot 11 (t = 110 B)
+Massif: cull 6 (t-span = 20) snapshot 13 (t = 130 B)
+Massif: cull 7 (t-span = 20) snapshot 15 (t = 150 B)
+Massif: cull 8 (t-span = 20) snapshot 17 (t = 170 B)
+Massif: cull 9 (t-span = 20) snapshot 19 (t = 190 B) (detailed)
+Massif: cull 10 (t-span = 20) snapshot 21 (t = 210 B)
+Massif: cull 11 (t-span = 20) snapshot 23 (t = 230 B)
+Massif: cull 12 (t-span = 20) snapshot 25 (t = 250 B)
+Massif: cull 13 (t-span = 20) snapshot 27 (t = 270 B)
+Massif: cull 14 (t-span = 20) snapshot 29 (t = 290 B) (detailed)
+Massif: cull 15 (t-span = 20) snapshot 31 (t = 310 B)
+Massif: cull 16 (t-span = 20) snapshot 33 (t = 330 B)
+Massif: cull 17 (t-span = 20) snapshot 35 (t = 350 B)
+Massif: cull 18 (t-span = 20) snapshot 37 (t = 370 B)
+Massif: cull 19 (t-span = 20) snapshot 39 (t = 390 B) (detailed)
+Massif: cull 20 (t-span = 20) snapshot 41 (t = 410 B)
+Massif: cull 21 (t-span = 20) snapshot 43 (t = 430 B)
+Massif: cull 22 (t-span = 20) snapshot 45 (t = 450 B)
+Massif: cull 23 (t-span = 20) snapshot 47 (t = 470 B)
+Massif: cull 24 (t-span = 20) snapshot 49 (t = 490 B) (detailed)
+Massif: cull 25 (t-span = 20) snapshot 51 (t = 510 B)
+Massif: cull 26 (t-span = 20) snapshot 53 (t = 530 B)
+Massif: cull 27 (t-span = 20) snapshot 55 (t = 550 B)
+Massif: cull 28 (t-span = 20) snapshot 57 (t = 570 B)
+Massif: cull 29 (t-span = 20) snapshot 59 (t = 590 B) (detailed)
+Massif: cull 30 (t-span = 20) snapshot 61 (t = 610 B)
+Massif: cull 31 (t-span = 20) snapshot 63 (t = 630 B)
+Massif: cull 32 (t-span = 20) snapshot 65 (t = 650 B)
+Massif: cull 33 (t-span = 20) snapshot 67 (t = 670 B)
+Massif: cull 34 (t-span = 20) snapshot 69 (t = 690 B) (detailed)
+Massif: cull 35 (t-span = 20) snapshot 71 (t = 710 B)
+Massif: cull 36 (t-span = 20) snapshot 73 (t = 730 B)
+Massif: cull 37 (t-span = 20) snapshot 75 (t = 750 B)
+Massif: cull 38 (t-span = 20) snapshot 77 (t = 770 B)
+Massif: cull 39 (t-span = 20) snapshot 79 (t = 790 B) (detailed)
+Massif: cull 40 (t-span = 20) snapshot 81 (t = 810 B)
+Massif: cull 41 (t-span = 20) snapshot 83 (t = 830 B)
+Massif: cull 42 (t-span = 20) snapshot 85 (t = 850 B)
+Massif: cull 43 (t-span = 20) snapshot 87 (t = 870 B)
+Massif: cull 44 (t-span = 20) snapshot 89 (t = 890 B) (detailed)
+Massif: cull 45 (t-span = 20) snapshot 91 (t = 910 B)
+Massif: cull 46 (t-span = 20) snapshot 93 (t = 930 B)
+Massif: cull 47 (t-span = 20) snapshot 95 (t = 950 B)
+Massif: cull 48 (t-span = 20) snapshot 97 (t = 970 B)
+Massif: cull 49 (t-span = 30) snapshot 98 (t = 980 B)
+Massif: Finished culling ( 50 of 100 deleted)
+Massif: new snapshot 0 (t = 0 B)
+Massif: new snapshot 1 (t = 20 B)
+Massif: new snapshot 2 (t = 40 B)
+Massif: new snapshot 3 (t = 60 B)
+Massif: new snapshot 4 (t = 80 B)
+Massif: new snapshot 5 (t = 100 B)
+Massif: new snapshot 6 (t = 120 B)
+Massif: new snapshot 7 (t = 140 B)
+Massif: new snapshot 8 (t = 160 B)
+Massif: new snapshot 9 (t = 180 B)
+Massif: new snapshot 10 (t = 200 B)
+Massif: new snapshot 11 (t = 220 B)
+Massif: new snapshot 12 (t = 240 B)
+Massif: new snapshot 13 (t = 260 B)
+Massif: new snapshot 14 (t = 280 B)
+Massif: new snapshot 15 (t = 300 B)
+Massif: new snapshot 16 (t = 320 B)
+Massif: new snapshot 17 (t = 340 B)
+Massif: new snapshot 18 (t = 360 B)
+Massif: new snapshot 19 (t = 380 B)
+Massif: new snapshot 20 (t = 400 B)
+Massif: new snapshot 21 (t = 420 B)
+Massif: new snapshot 22 (t = 440 B)
+Massif: new snapshot 23 (t = 460 B)
+Massif: new snapshot 24 (t = 480 B)
+Massif: new snapshot 25 (t = 500 B)
+Massif: new snapshot 26 (t = 520 B)
+Massif: new snapshot 27 (t = 540 B)
+Massif: new snapshot 28 (t = 560 B)
+Massif: new snapshot 29 (t = 580 B)
+Massif: new snapshot 30 (t = 600 B)
+Massif: new snapshot 31 (t = 620 B)
+Massif: new snapshot 32 (t = 640 B)
+Massif: new snapshot 33 (t = 660 B)
+Massif: new snapshot 34 (t = 680 B)
+Massif: new snapshot 35 (t = 700 B)
+Massif: new snapshot 36 (t = 720 B)
+Massif: new snapshot 37 (t = 740 B)
+Massif: new snapshot 38 (t = 760 B)
+Massif: new snapshot 39 (t = 780 B)
+Massif: new snapshot 40 (t = 800 B)
+Massif: new snapshot 41 (t = 820 B)
+Massif: new snapshot 42 (t = 840 B)
+Massif: new snapshot 43 (t = 860 B)
+Massif: new snapshot 44 (t = 880 B)
+Massif: new snapshot 45 (t = 900 B)
+Massif: new snapshot 46 (t = 920 B)
+Massif: new snapshot 47 (t = 940 B)
+Massif: new snapshot 48 (t = 960 B)
+Massif: new snapshot 49 (t = 990 B) (detailed)
+Massif: New time interval = 20 (between snapshots 0 and 1)
+Massif: took snapshot 50 (t = 1010 B)
+Massif: took snapshot 51 (t = 1030 B)
+Massif: took snapshot 52 (t = 1050 B)
+Massif: took snapshot 53 (t = 1070 B)
+Massif: took snapshot 54 (t = 1090 B)
+Massif: took snapshot 55 (t = 1110 B)
+Massif: took snapshot 56 (t = 1130 B)
+Massif: took snapshot 57 (t = 1150 B)
+Massif: took snapshot 58 (t = 1170 B)
+Massif: took snapshot 59 (t = 1190 B) (detailed)
+Massif: took snapshot 60 (t = 1210 B)
+Massif: took snapshot 61 (t = 1230 B)
+Massif: took snapshot 62 (t = 1250 B)
+Massif: took snapshot 63 (t = 1270 B)
+Massif: took snapshot 64 (t = 1290 B)
+Massif: took snapshot 65 (t = 1310 B)
+Massif: took snapshot 66 (t = 1330 B)
+Massif: took snapshot 67 (t = 1350 B)
+Massif: took snapshot 68 (t = 1370 B)
+Massif: took snapshot 69 (t = 1390 B) (detailed)
+Massif: took snapshot 70 (t = 1410 B)
+Massif: took snapshot 71 (t = 1430 B)
+Massif: took snapshot 72 (t = 1450 B)
+Massif: took snapshot 73 (t = 1470 B)
+Massif: took snapshot 74 (t = 1490 B)
+Massif: took snapshot 75 (t = 1510 B)
+Massif: took snapshot 76 (t = 1530 B)
+Massif: took snapshot 77 (t = 1550 B)
+Massif: took snapshot 78 (t = 1570 B)
+Massif: took snapshot 79 (t = 1590 B) (detailed)
+Massif: took snapshot 80 (t = 1610 B)
+Massif: took snapshot 81 (t = 1630 B)
+Massif: took snapshot 82 (t = 1650 B)
+Massif: took snapshot 83 (t = 1670 B)
+Massif: took snapshot 84 (t = 1690 B)
+Massif: took snapshot 85 (t = 1710 B)
+Massif: took snapshot 86 (t = 1730 B)
+Massif: took snapshot 87 (t = 1750 B)
+Massif: took snapshot 88 (t = 1770 B)
+Massif: took snapshot 89 (t = 1790 B) (detailed)
+Massif: took snapshot 90 (t = 1810 B)
+Massif: took snapshot 91 (t = 1830 B)
+Massif: took snapshot 92 (t = 1850 B)
+Massif: took snapshot 93 (t = 1870 B)
+Massif: took snapshot 94 (t = 1890 B)
+Massif: took snapshot 95 (t = 1910 B)
+Massif: took snapshot 96 (t = 1930 B)
+Massif: took snapshot 97 (t = 1950 B)
+Massif: took snapshot 98 (t = 1970 B)
+Massif: took snapshot 99 (t = 1990 B) (detailed)
+Massif: Culling...
+Massif: cull 0 (t-span = 40) snapshot 1 (t = 20 B)
+Massif: cull 1 (t-span = 40) snapshot 3 (t = 60 B)
+Massif: cull 2 (t-span = 40) snapshot 5 (t = 100 B)
+Massif: cull 3 (t-span = 40) snapshot 7 (t = 140 B)
+Massif: cull 4 (t-span = 40) snapshot 9 (t = 180 B)
+Massif: cull 5 (t-span = 40) snapshot 11 (t = 220 B)
+Massif: cull 6 (t-span = 40) snapshot 13 (t = 260 B)
+Massif: cull 7 (t-span = 40) snapshot 15 (t = 300 B)
+Massif: cull 8 (t-span = 40) snapshot 17 (t = 340 B)
+Massif: cull 9 (t-span = 40) snapshot 19 (t = 380 B)
+Massif: cull 10 (t-span = 40) snapshot 21 (t = 420 B)
+Massif: cull 11 (t-span = 40) snapshot 23 (t = 460 B)
+Massif: cull 12 (t-span = 40) snapshot 25 (t = 500 B)
+Massif: cull 13 (t-span = 40) snapshot 27 (t = 540 B)
+Massif: cull 14 (t-span = 40) snapshot 29 (t = 580 B)
+Massif: cull 15 (t-span = 40) snapshot 31 (t = 620 B)
+Massif: cull 16 (t-span = 40) snapshot 33 (t = 660 B)
+Massif: cull 17 (t-span = 40) snapshot 35 (t = 700 B)
+Massif: cull 18 (t-span = 40) snapshot 37 (t = 740 B)
+Massif: cull 19 (t-span = 40) snapshot 39 (t = 780 B)
+Massif: cull 20 (t-span = 40) snapshot 41 (t = 820 B)
+Massif: cull 21 (t-span = 40) snapshot 43 (t = 860 B)
+Massif: cull 22 (t-span = 40) snapshot 45 (t = 900 B)
+Massif: cull 23 (t-span = 40) snapshot 47 (t = 940 B)
+Massif: cull 24 (t-span = 40) snapshot 50 (t = 1010 B)
+Massif: cull 25 (t-span = 40) snapshot 52 (t = 1050 B)
+Massif: cull 26 (t-span = 40) snapshot 54 (t = 1090 B)
+Massif: cull 27 (t-span = 40) snapshot 56 (t = 1130 B)
+Massif: cull 28 (t-span = 40) snapshot 58 (t = 1170 B)
+Massif: cull 29 (t-span = 40) snapshot 60 (t = 1210 B)
+Massif: cull 30 (t-span = 40) snapshot 62 (t = 1250 B)
+Massif: cull 31 (t-span = 40) snapshot 64 (t = 1290 B)
+Massif: cull 32 (t-span = 40) snapshot 66 (t = 1330 B)
+Massif: cull 33 (t-span = 40) snapshot 68 (t = 1370 B)
+Massif: cull 34 (t-span = 40) snapshot 70 (t = 1410 B)
+Massif: cull 35 (t-span = 40) snapshot 72 (t = 1450 B)
+Massif: cull 36 (t-span = 40) snapshot 74 (t = 1490 B)
+Massif: cull 37 (t-span = 40) snapshot 76 (t = 1530 B)
+Massif: cull 38 (t-span = 40) snapshot 78 (t = 1570 B)
+Massif: cull 39 (t-span = 40) snapshot 80 (t = 1610 B)
+Massif: cull 40 (t-span = 40) snapshot 82 (t = 1650 B)
+Massif: cull 41 (t-span = 40) snapshot 84 (t = 1690 B)
+Massif: cull 42 (t-span = 40) snapshot 86 (t = 1730 B)
+Massif: cull 43 (t-span = 40) snapshot 88 (t = 1770 B)
+Massif: cull 44 (t-span = 40) snapshot 90 (t = 1810 B)
+Massif: cull 45 (t-span = 40) snapshot 92 (t = 1850 B)
+Massif: cull 46 (t-span = 40) snapshot 94 (t = 1890 B)
+Massif: cull 47 (t-span = 40) snapshot 96 (t = 1930 B)
+Massif: cull 48 (t-span = 40) snapshot 98 (t = 1970 B)
+Massif: cull 49 (t-span = 70) snapshot 48 (t = 960 B)
+Massif: Finished culling ( 50 of 100 deleted)
+Massif: new snapshot 0 (t = 0 B)
+Massif: new snapshot 1 (t = 40 B)
+Massif: new snapshot 2 (t = 80 B)
+Massif: new snapshot 3 (t = 120 B)
+Massif: new snapshot 4 (t = 160 B)
+Massif: new snapshot 5 (t = 200 B)
+Massif: new snapshot 6 (t = 240 B)
+Massif: new snapshot 7 (t = 280 B)
+Massif: new snapshot 8 (t = 320 B)
+Massif: new snapshot 9 (t = 360 B)
+Massif: new snapshot 10 (t = 400 B)
+Massif: new snapshot 11 (t = 440 B)
+Massif: new snapshot 12 (t = 480 B)
+Massif: new snapshot 13 (t = 520 B)
+Massif: new snapshot 14 (t = 560 B)
+Massif: new snapshot 15 (t = 600 B)
+Massif: new snapshot 16 (t = 640 B)
+Massif: new snapshot 17 (t = 680 B)
+Massif: new snapshot 18 (t = 720 B)
+Massif: new snapshot 19 (t = 760 B)
+Massif: new snapshot 20 (t = 800 B)
+Massif: new snapshot 21 (t = 840 B)
+Massif: new snapshot 22 (t = 880 B)
+Massif: new snapshot 23 (t = 920 B)
+Massif: new snapshot 24 (t = 990 B) (detailed)
+Massif: new snapshot 25 (t = 1030 B)
+Massif: new snapshot 26 (t = 1070 B)
+Massif: new snapshot 27 (t = 1110 B)
+Massif: new snapshot 28 (t = 1150 B)
+Massif: new snapshot 29 (t = 1190 B) (detailed)
+Massif: new snapshot 30 (t = 1230 B)
+Massif: new snapshot 31 (t = 1270 B)
+Massif: new snapshot 32 (t = 1310 B)
+Massif: new snapshot 33 (t = 1350 B)
+Massif: new snapshot 34 (t = 1390 B) (detailed)
+Massif: new snapshot 35 (t = 1430 B)
+Massif: new snapshot 36 (t = 1470 B)
+Massif: new snapshot 37 (t = 1510 B)
+Massif: new snapshot 38 (t = 1550 B)
+Massif: new snapshot 39 (t = 1590 B) (detailed)
+Massif: new snapshot 40 (t = 1630 B)
+Massif: new snapshot 41 (t = 1670 B)
+Massif: new snapshot 42 (t = 1710 B)
+Massif: new snapshot 43 (t = 1750 B)
+Massif: new snapshot 44 (t = 1790 B) (detailed)
+Massif: new snapshot 45 (t = 1830 B)
+Massif: new snapshot 46 (t = 1870 B)
+Massif: new snapshot 47 (t = 1910 B)
+Massif: new snapshot 48 (t = 1950 B)
+Massif: new snapshot 49 (t = 1990 B) (detailed)
+Massif: New time interval = 40 (between snapshots 0 and 1)
+Massif: allocs: 200
+Massif: zeroallocs: 0 (0%)
+Massif: frees: 0
+Massif: XPts: 2
+Massif: top-XPts: 1 (50%)
+Massif: dup'd XPts: 30
+Massif: dup'd/freed XPts: 18
+Massif: XPt-expansions: 1
+Massif: skipped snapshots: 51
+Massif: real snapshots: 150
+Massif: cullings: 2
+Massif: XCon_redos: 0
Added: branches/MASSIF2/massif/tests/culling1.vgtest
===================================================================
--- branches/MASSIF2/massif/tests/culling1.vgtest (rev 0)
+++ branches/MASSIF2/massif/tests/culling1.vgtest 2007-09-21 00:26:56 UTC (rev 6881)
@@ -0,0 +1,4 @@
+prog: culling1
+vgopts: -v --stacks=no --time-unit=B
+stderr_filter: filter_verbose
+cleanup: rm massif.out
Added: branches/MASSIF2/massif/tests/culling2.c
===================================================================
--- branches/MASSIF2/massif/tests/culling2.c (rev 0)
+++ branches/MASSIF2/massif/tests/culling2.c 2007-09-21 00:26:56 UTC (rev 6881)
@@ -0,0 +1,10 @@
+#include <stdlib.h>
+
+int main(void)
+{
+ int i;
+ for (i = 0; i < 200; i++) {
+ malloc(i);
+ }
+ return 0;
+}
Added: branches/MASSIF2/massif/tests/culling2.stderr.exp
===================================================================
--- branches/MASSIF2/massif/tests/culling2.stderr.exp (rev 0)
+++ branches/MASSIF2/massif/tests/culling2.stderr.exp 2007-09-21 00:26:56 UTC (rev 6881)
@@ -0,0 +1,528 @@
+Massif: alloc-fns:
+Massif: 1: calloc
+Massif: 2: realloc
+Massif: 3: memalign
+Massif: 4: __builtin_new
+Massif: 5: __builtin_vec_new
+Massif: 6: malloc
+Massif: took snapshot 0 (t = 0 B)
+Massif: took snapshot 1 (t = 0 B)
+Massif: took snapshot 2 (t = 1 B)
+Massif: took snapshot 3 (t = 3 B)
+Massif: took snapshot 4 (t = 6 B)
+Massif: took snapshot 5 (t = 10 B)
+Massif: took snapshot 6 (t = 15 B)
+Massif: took snapshot 7 (t = 21 B)
+Massif: took snapshot 8 (t = 28 B)
+Massif: took snapshot 9 (t = 36 B) (detailed)
+Massif: took snapshot 10 (t = 45 B)
+Massif: took snapshot 11 (t = 55 B)
+Massif: took snapshot 12 (t = 66 B)
+Massif: took snapshot 13 (t = 78 B)
+Massif: took snapshot 14 (t = 91 B)
+Massif: took snapshot 15 (t = 105 B)
+Massif: took snapshot 16 (t = 120 B)
+Massif: took snapshot 17 (t = 136 B)
+Massif: took snapshot 18 (t = 153 B)
+Massif: took snapshot 19 (t = 171 B) (detailed)
+Massif: took snapshot 20 (t = 190 B)
+Massif: took snapshot 21 (t = 210 B)
+Massif: took snapshot 22 (t = 231 B)
+Massif: took snapshot 23 (t = 253 B)
+Massif: took snapshot 24 (t = 276 B)
+Massif: took snapshot 25 (t = 300 B)
+Massif: took snapshot 26 (t = 325 B)
+Massif: took snapshot 27 (t = 351 B)
+Massif: took snapshot 28 (t = 378 B)
+Massif: took snapshot 29 (t = 406 B) (detailed)
+Massif: took snapshot 30 (t = 435 B)
+Massif: took snapshot 31 (t = 465 B)
+Massif: took snapshot 32 (t = 496 B)
+Massif: took snapshot 33 (t = 528 B)
+Massif: took snapshot 34 (t = 561 B)
+Massif: took snapshot 35 (t = 595 B)
+Massif: took snapshot 36 (t = 630 B)
+Massif: took snapshot 37 (t = 666 B)
+Massif: took snapshot 38 (t = 703 B)
+Massif: took snapshot 39 (t = 741 B) (detailed)
+Massif: took snapshot 40 (t = 780 B)
+Massif: took snapshot 41 (t = 820 B)
+Massif: took snapshot 42 (t = 861 B)
+Massif: took snapshot 43 (t = 903 B)
+Massif: took snapshot 44 (t = 946 B)
+Massif: took snapshot 45 (t = 990 B)
+Massif: took snapshot 46 (t = 1035 B)
+Massif: took snapshot 47 (t = 1081 B)
+Massif: took snapshot 48 (t = 1128 B)
+Massif: took snapshot 49 (t = 1176 B) (detailed)
+Massif: took snapshot 50 (t = 1225 B)
+Massif: took snapshot 51 (t = 1275 B)
+Massif: took snapshot 52 (t = 1326 B)
+Massif: took snapshot 53 (t = 1378 B)
+Massif: took snapshot 54 (t = 1431 B)
+Massif: took snapshot 55 (t = 1485 B)
+Massif: took snapshot 56 (t = 1540 B)
+Massif: took snapshot 57 (t = 1596 B)
+Massif: took snapshot 58 (t = 1653 B)
+Massif: took snapshot 59 (t = 1711 B) (detailed)
+Massif: took snapshot 60 (t = 1770 B)
+Massif: took snapshot 61 (t = 1830 B)
+Massif: took snapshot 62 (t = 1891 B)
+Massif: took snapshot 63 (t = 1953 B)
+Massif: took snapshot 64 (t = 2016 B)
+Massif: took snapshot 65 (t = 2080 B)
+Massif: took snapshot 66 (t = 2145 B)
+Massif: took snapshot 67 (t = 2211 B)
+Massif: took snapshot 68 (t = 2278 B)
+Massif: took snapshot 69 (t = 2346 B) (detailed)
+Massif: took snapshot 70 (t = 2415 B)
+Massif: took snapshot 71 (t = 2485 B)
+Massif: took snapshot 72 (t = 2556 B)
+Massif: took snapshot 73 (t = 2628 B)
+Massif: took snapshot 74 (t = 2701 B)
+Massif: took snapshot 75 (t = 2775 B)
+Massif: took snapshot 76 (t = 2850 B)
+Massif: took snapshot 77 (t = 2926 B)
+Massif: took snapshot 78 (t = 3003 B)
+Massif: took snapshot 79 (t = 3081 B) (detailed)
+Massif: took snapshot 80 (t = 3160 B)
+Massif: took snapshot 81 (t = 3240 B)
+Massif: took snapshot 82 (t = 3321 B)
+Massif: took snapshot 83 (t = 3403 B)
+Massif: took snapshot 84 (t = 3486 B)
+Massif: took snapshot 85 (t = 3570 B)
+Massif: took snapshot 86 (t = 3655 B)
+Massif: took snapshot 87 (t = 3741 B)
+Massif: took snapshot 88 (t = 3828 B)
+Massif: took snapshot 89 (t = 3916 B) (detailed)
+Massif: took snapshot 90 (t = 4005 B)
+Massif: took snapshot 91 (t = 4095 B)
+Massif: took snapshot 92 (t = 4186 B)
+Massif: took snapshot 93 (t = 4278 B)
+Massif: took snapshot 94 (t = 4371 B)
+Massif: took snapshot 95 (t = 4465 B)
+Massif: took snapshot 96 (t = 4560 B)
+Massif: took snapshot 97 (t = 4656 B)
+Massif: took snapshot 98 (t = 4753 B)
+Massif: took snapshot 99 (t = 4851 B) (detailed)
+Massif: Culling...
+Massif: cull 0 (t-span = 1) snapshot 1 (t = 0 B)
+Massif: cull 1 (t-span = 3) snapshot 2 (t = 1 B)
+Massif: cull 2 (t-span = 6) snapshot 3 (t = 3 B)
+Massif: cull 3 (t-span = 9) snapshot 5 (t = 10 B)
+Massif: cull 4 (t-span = 13) snapshot 7 (t = 21 B)
+Massif: cull 5 (t-span = 15) snapshot 4 (t = 6 B)
+Massif: cull 6 (t-span = 17) snapshot 9 (t = 36 B) (detailed)
+Massif: cull 7 (t-span = 21) snapshot 11 (t = 55 B)
+Massif: cull 8 (t-span = 25) snapshot 13 (t = 78 B)
+Massif: cull 9 (t-span = 28) snapshot 6 (t = 15 B)
+Massif: cull 10 (t-span = 29) snapshot 15 (t = 105 B)
+Massif: cull 11 (t-span = 33) snapshot 17 (t = 136 B)
+Massif: cull 12 (t-span = 37) snapshot 19 (t = 171 B) (detailed)
+Massif: cull 13 (t-span = 38) snapshot 10 (t = 45 B)
+Massif: cull 14 (t-span = 41) snapshot 21 (t = 210 B)
+Massif: cull 15 (t-span = 45) snapshot 23 (t = 253 B)
+Massif: cull 16 (t-span = 49) snapshot 25 (t = 300 B)
+Massif: cull 17 (t-span = 53) snapshot 27 (t = 351 B)
+Massif: cull 18 (t-span = 54) snapshot 14 (t = 91 B)
+Massif: cull 19 (t-span = 57) snapshot 29 (t = 406 B) (detailed)
+Massif: cull 20 (t-span = 61) snapshot 31 (t = 465 B)
+Massif: cull 21 (t-span = 65) snapshot 33 (t = 528 B)
+Massif: cull 22 (t-span = 66) snapshot 8 (t = 28 B)
+Massif: cull 23 (t-span = 69) snapshot 35 (t = 595 B)
+Massif: cull 24 (t-span = 70) snapshot 18 (t = 153 B)
+Massif: cull 25 (t-span = 73) snapshot 37 (t = 666 B)
+Massif: cull 26 (t-span = 77) snapshot 39 (t = 741 B) (detailed)
+Massif: cull 27 (t-span = 81) snapshot 41 (t = 820 B)
+Massif: cull 28 (t-span = 85) snapshot 43 (t = 903 B)
+Massif: cull 29 (t-span = 86) snapshot 22 (t = 231 B)
+Massif: cull 30 (t-span = 89) snapshot 45 (t = 990 B)
+Massif: cull 31 (t-span = 93) snapshot 47 (t = 1081 B)
+Massif: cull 32 (t-span = 97) snapshot 49 (t = 1176 B) (detailed)
+Massif: cull 33 (t-span = 101) snapshot 51 (t = 1275 B)
+Massif: cull 34 (t-span = 102) snapshot 26 (t = 325 B)
+Massif: cull 35 (t-span = 105) snapshot 53 (t = 1378 B)
+Massif: cull 36 (t-span = 109) snapshot 55 (t = 1485 B)
+Massif: cull 37 (t-span = 113) snapshot 57 (t = 1596 B)
+Massif: cull 38 (t-span = 117) snapshot 59 (t = 1711 B) (detailed)
+Massif: cull 39 (t-span = 118) snapshot 30 (t = 435 B)
+Massif: cull 40 (t-span = 120) snapshot 12 (t = 66 B)
+Massif: cull 41 (t-span = 121) snapshot 61 (t = 1830 B)
+Massif: cull 42 (t-span = 125) snapshot 63 (t = 1953 B)
+Massif: cull 43 (t-span = 129) snapshot 65 (t = 2080 B)
+Massif: cull 44 (t-span = 133) snapshot 67 (t = 2211 B)
+Massif: cull 45 (t-span = 134) snapshot 34 (t = 561 B)
+Massif: cull 46 (t-span = 137) snapshot 69 (t = 2346 B) (detailed)
+Massif: cull 47 (t-span = 141) snapshot 71 (t = 2485 B)
+Massif: cull 48 (t-span = 145) snapshot 73 (t = 2628 B)
+Massif: cull 49 (t-span = 149) snapshot 75 (t = 2775 B)
+Massif: Finished culling ( 50 of 100 deleted)
+Massif: new snapshot 0 (t = 0 B)
+Massif: new snapshot 1 (t = 120 B)
+Massif: new snapshot 2 (t = 190 B)
+Massif: new snapshot 3 (t = 276 B)
+Massif: new snapshot 4 (t = 378 B)
+Massif: new snapshot 5 (t = 496 B)
+Massif: new snapshot 6 (t = 630 B)
+Massif: new snapshot 7 (t = 703 B)
+Massif: new snapshot 8 (t = 780 B)
+Massif: new snapshot 9 (t = 861 B)
+Massif: new snapshot 10 (t = 946 B)
+Massif: new snapshot 11 (t = 1035 B)
+Massif: new snapshot 12 (t = 1128 B)
+Massif: new snapshot 13 (t = 1225 B)
+Massif: new snapshot 14 (t = 1326 B)
+Massif: new snapshot 15 (t = 1431 B)
+Massif: new snapshot 16 (t = 1540 B)
+Massif: new snapshot 17 (t = 1653 B)
+Massif: new snapshot 18 (t = 1770 B)
+Massif: new snapshot 19 (t = 1891 B)
+Massif: new snapshot 20 (t = 2016 B)
+Massif: new snapshot 21 (t = 2145 B)
+Massif: new snapshot 22 (t = 2278 B)
+Massif: new snapshot 23 (t = 2415 B)
+Massif: new snapshot 24 (t = 2556 B)
+Massif: new snapshot 25 (t = 2701 B)
+Massif: new snapshot 26 (t = 2850 B)
+Massif: new snapshot 27 (t = 2926 B)
+Massif: new snapshot 28 (t = 3003 B)
+Massif: new snapshot 29 (t = 3081 B) (detailed)
+Massif: new snapshot 30 (t = 3160 B)
+Massif: new snapshot 31 (t = 3240 B)
+Massif: new snapshot 32 (t = 3321 B)
+Massif: new snapshot 33 (t = 3403 B)
+Massif: new snapshot 34 (t = 3486 B)
+Massif: new snapshot 35 (t = 3570 B)
+Massif: new snapshot 36 (t = 3655 B)
+Massif: new snapshot 37 (t = 3741 B)
+Massif: new snapshot 38 (t = 3828 B)
+Massif: new snapshot 39 (t = 3916 B) (detailed)
+Massif: new snapshot 40 (t = 4005 B)
+Massif: new snapshot 41 (t = 4095 B)
+Massif: new snapshot 42 (t = 4186 B)
+Massif: new snapshot 43 (t = 4278 B)
+Massif: new snapshot 44 (t = 4371 B)
+Massif: new snapshot 45 (t = 4465 B)
+Massif: new snapshot 46 (t = 4560 B)
+Massif: new snapshot 47 (t = 4656 B)
+Massif: new snapshot 48 (t = 4753 B)
+Massif: new snapshot 49 (t = 4851 B) (detailed)
+Massif: New time interval = 70 (between snapshots 1 and 2)
+Massif: took snapshot 50 (t = 4950 B)
+Massif: took snapshot 51 (t = 5050 B)
+Massif: took snapshot 52 (t = 5151 B)
+Massif: took snapshot 53 (t = 5253 B)
+Massif: took snapshot 54 (t = 5356 B)
+Massif: took snapshot 55 (t = 5460 B)
+Massif: took snapshot 56 (t = 5565 B)
+Massif: took snapshot 57 (t = 5671 B)
+Massif: took snapshot 58 (t = 5778 B)
+Massif: took snapshot 59 (t = 5886 B) (detailed)
+Massif: took snapshot 60 (t = 5995 B)
+Massif: took snapshot 61 (t = 6105 B)
+Massif: took snapshot 62 (t = 6216 B)
+Massif: took snapshot 63 (t = 6328 B)
+Massif: took snapshot 64 (t = 6441 B)
+Massif: took snapshot 65 (t = 6555 B)
+Massif: took snapshot 66 (t = 6670 B)
+Massif: took snapshot 67 (t = 6786 B)
+Massif: took snapshot 68 (t = 6903 B)
+Massif: took snapshot 69 (t = 7021 B) (detailed)
+Massif: took snapshot 70 (t = 7140 B)
+Massif: took snapshot 71 (t = 7260 B)
+Massif: took snapshot 72 (t = 7381 B)
+Massif: took snapshot 73 (t = 7503 B)
+Massif: took snapshot 74 (t = 7626 B)
+Massif: took snapshot 75 (t = 7750 B)
+Massif: took snapshot 76 (t = 7875 B)
+Massif: took snapshot 77 (t = 8001 B)
+Massif: took snapshot 78 (t = 8128 B)
+Massif: took snapshot 79 (t = 8256 B) (detailed)
+Massif: took snapshot 80 (t = 8385 B)
+Massif: took snapshot 81 (t = 8515 B)
+Massif: took snapshot 82 (t = 8646 B)
+Massif: took snapshot 83 (t = 8778 B)
+Massif: took snapshot 84 (t = 8911 B)
+Massif: took snapshot 85 (t = 9045 B)
+Massif: took snapshot 86 (t = 9180 B)
+Massif: took snapshot 87 (t = 9316 B)
+Massif: took snapshot 88 (t = 9453 B)
+Massif: took snapshot 89 (t = 9591 B) (detailed)
+Massif: took snapshot 90 (t = 9730 B)
+Massif: took snapshot 91 (t = 9870 B)
+Massif: took snapshot 92 (t = 10011 B)
+Massif: took snapshot 93 (t = 10153 B)
+Massif: took snapshot 94 (t = 10296 B)
+Massif: took snapshot 95 (t = 10440 B)
+Massif: took snapshot 96 (t = 10585 B)
+Massif: took snapshot 97 (t = 10731 B)
+Massif: took snapshot 98 (t = 10878 B)
+Massif: took snapshot 99 (t = 11026 B) (detailed)
+Massif: Culling...
+Massif: cull 0 (t-span = 150) snapshot 7 (t = 703 B)
+Massif: cull 1 (t-span = 153) snapshot 27 (t = 2926 B)
+Massif: cull 2 (t-span = 156) snapshot 2 (t = 190 B)
+Massif: cull 3 (t-span = 157) snapshot 29 (t = 3081 B) (detailed)
+Massif: cull 4 (t-span = 161) snapshot 31 (t = 3240 B)
+Massif: cull 5 (t-span = 165) snapshot 33 (t = 3403 B)
+Massif: cull 6 (t-span = 166) snapshot 9 (t = 861 B)
+Massif: cull 7 (t-span = 169) snapshot 35 (t = 3570 B)
+Massif: cull 8 (t-span = 173) snapshot 37 (t = 3741 B)
+Massif: cull 9 (t-span = 177) snapshot 39 (t = 3916 B) (detailed)
+Massif: cull 10 (t-span = 181) snapshot 41 (t = 4095 B)
+Massif: cull 11 (t-span = 182) snapshot 11 (t = 1035 B)
+Massif: cull 12 (t-span = 185) snapshot 43 (t = 4278 B)
+Massif: cull 13 (t-span = 189) snapshot 45 (t = 4465 B)
+Massif: cull 14 (t-span = 193) snapshot 47 (t = 4656 B)
+Massif: cull 15 (t-span = 197) snapshot 49 (t = 4851 B) (detailed)
+Massif: cull 16 (t-span = 198) snapshot 13 (t = 1225 B)
+Massif: cull 17 (t-span = 201) snapshot 51 (t = 5050 B)
+Massif: cull 18 (t-span = 205) snapshot 53 (t = 5253 B)
+Massif: cull 19 (t-span = 209) snapshot 55 (t = 5460 B)
+Massif: cull 20 (t-span = 213) snapshot 57 (t = 5671 B)
+Massif: cull 21 (t-span = 214) snapshot 15 (t = 1431 B)
+Massif: cull 22 (t-span = 217) snapshot 59 (t = 5886 B) (detailed)
+Massif: cull 23 (t-span = 220) snapshot 4 (t = 378 B)
+Massif: cull 24 (t-span = 221) snapshot 61 (t = 6105 B)
+Massif: cull 25 (t-span = 225) snapshot 63 (t = 6328 B)
+Massif: cull 26 (t-span = 229) snapshot 65 (t = 6555 B)
+Massif: cull 27 (t-span = 230) snapshot 17 (t = 1653 B)
+Massif: cull 28 (t-span = 233) snapshot 67 (t = 6786 B)
+Massif: cull 29 (t-span = 237) snapshot 69 (t = 7021 B) (detailed)
+Massif: cull 30 (t-span = 241) snapshot 71 (t = 7260 B)
+Massif: cull 31 (t-span = 245) snapshot 73 (t = 7503 B)
+Massif: cull 32 (t-span = 246) snapshot 19 (t = 1891 B)
+Massif: cull 33 (t-span = 249) snapshot 75 (t = 7750 B)
+Massif: cull 34 (t-span = 253) snapshot 77 (t = 8001 B)
+Massif: cull 35 (t-span = 257) snapshot 79 (t = 8256 B) (detailed)
+Massif: cull 36 (t-span = 261) snapshot 81 (t = 8515 B)
+Massif: cull 37 (t-span = 262) snapshot 21 (t = 2145 B)
+Massif: cull 38 (t-span = 265) snapshot 83 (t = 8778 B)
+Massif: cull 39 (t-span = 269) snapshot 85 (t = 9045 B)
+Massif: cull 40 (t-span = 273) snapshot 87 (t = 9316 B)
+Massif: cull 41 (t-span = 276) snapshot 1 (t = 120 B)
+Massif: cull 42 (t-span = 277) snapshot 89 (t = 9591 B) (detailed)
+Massif: cull 43 (t-span = 278) snapshot 23 (t = 2415 B)
+Massif: cull 44 (t-span = 281) snapshot 91 (t = 9870 B)
+Massif: cull 45 (t-span = 284) snapshot 6 (t = 630 B)
+Massif: cull 46 (t-span = 285) snapshot 93 (t = 10153 B)
+Massif: cull 47 (t-span = 289) snapshot 95 (t = 10440 B)
+Massif: cull 48 (t-span = 293) snapshot 97 (t = 10731 B)
+Massif: cull 49 (t-span = 294) snapshot 25 (t = 2701 B)
+Massif: Finished culling ( 50 of 100 deleted)
+Massif: new snapshot 0 (t = 0 B)
+Massif: new snapshot 1 (t = 276 B)
+Massif: new snapshot 2 (t = 496 B)
+Massif: new snapshot 3 (t = 780 B)
+Massif: new snapshot 4 (t = 946 B)
+Massif: new snapshot 5 (t = 1128 B)
+Massif: new snapshot 6 (t = 1326 B)
+Massif: new snapshot 7 (t = 1540 B)
+Massif: new snapshot 8 (t = 1770 B)
+Massif: new snapshot 9 (t = 2016 B)
+Massif: new snapshot 10 (t = 2278 B)
+Massif: new snapshot 11 (t = 2556 B)
+Massif: new snapshot 12 (t = 2850 B)
+Massif: new snapshot 13 (t = 3003 B)
+Massif: new snapshot 14 (t = 3160 B)
+Massif: new snapshot 15 (t = 3321 B)
+Massif: new snapshot 16 (t = 3486 B)
+Massif: new snapshot 17 (t = 3655 B)
+Massif: new snapshot 18 (t = 3828 B)
+Massif: new snapshot 19 (t = 4005 B)
+Massif: new snapshot 20 (t = 4186 B)
+Massif: new snapshot 21 (t = 4371 B)
+Massif: new snapshot 22 (t = 4560 B)
+Massif: new snapshot 23 (t = 4753 B)
+Massif: new snapshot 24 (t = 4950 B)
+Massif: new snapshot 25 (t = 5151 B)
+Massif: new snapshot 26 (t = 5356 B)
+Massif: new snapshot 27 (t = 5565 B)
+Massif: new snapshot 28 (t = 5778 B)
+Massif: new snapshot 29 (t = 5995 B)
+Massif: new snapshot 30 (t = 6216 B)
+Massif: new snapshot 31 (t = 6441 B)
+Massif: new snapshot 32 (t = 6670 B)
+Massif: new snapshot 33 (t = 6903 B)
+Massif: new snapshot 34 (t = 7140 B)
+Massif: new snapshot 35 (t = 7381 B)
+Massif: new snapshot 36 (t = 7626 B)
+Massif: new snapshot 37 (t = 7875 B)
+Massif: new snapshot 38 (t = 8128 B)
+Massif: new snapshot 39 (t = 8385 B)
+Massif: new snapshot 40 (t = 8646 B)
+Massif: new snapshot 41 (t = 8911 B)
+Massif: new snapshot 42 (t = 9180 B)
+Massif: new snapshot 43 (t = 9453 B)
+Massif: new snapshot 44 (t = 9730 B)
+Massif: new snapshot 45 (t = 10011 B)
+Massif: new snapshot 46 (t = 10296 B)
+Massif: new snapshot 47 (t = 10585 B)
+Massif: new snapshot 48 (t = 10878 B)
+Massif: new snapshot 49 (t = 11026 B) (detailed)
+Massif: New time interval = 148 (between snapshots 48 and 49)
+Massif: took snapshot 50 (t = 11175 B)
+Massif: took snapshot 51 (t = 11325 B)
+Massif: took snapshot 52 (t = 11476 B)
+Massif: took snapshot 53 (t = 11628 B)
+Massif: took snapshot 54 (t = 11781 B)
+Massif: took snapshot 55 (t = 11935 B)
+Massif: took snapshot 56 (t = 12090 B)
+Massif: took snapshot 57 (t = 12246 B)
+Massif: took snapshot 58 (t = 12403 B)
+Massif: took snapshot 59 (t = 12561 B) (detailed)
+Massif: took snapshot 60 (t = 12720 B)
+Massif: took snapshot 61 (t = 12880 B)
+Massif: took snapshot 62 (t = 13041 B)
+Massif: took snapshot 63 (t = 13203 B)
+Massif: took snapshot 64 (t = 13366 B)
+Massif: took snapshot 65 (t = 13530 B)
+Massif: took snapshot 66 (t = 13695 B)
+Massif: took snapshot 67 (t = 13861 B)
+Massif: took snapshot 68 (t = 14028 B)
+Massif: took snapshot 69 (t = 14196 B) (detailed)
+Massif: took snapshot 70 (t = 14365 B)
+Massif: took snapshot 71 (t = 14535 B)
+Massif: took snapshot 72 (t = 14706 B)
+Massif: took snapshot 73 (t = 14878 B)
+Massif: took snapshot 74 (t = 15051 B)
+Massif: took snapshot 75 (t = 15225 B)
+Massif: took snapshot 76 (t = 15400 B)
+Massif: took snapshot 77 (t = 15576 B)
+Massif: took snapshot 78 (t = 15753 B)
+Massif: took snapshot 79 (t = 15931 B) (detailed)
+Massif: took snapshot 80 (t = 16110 B)
+Massif: took snapshot 81 (t = 16290 B)
+Massif: took snapshot 82 (t = 16471 B)
+Massif: took snapshot 83 (t = 16653 B)
+Massif: took snapshot 84 (t = 16836 B)
+Massif: took snapshot 85 (t = 17020 B)
+Massif: took snapshot 86 (t = 17205 B)
+Massif: took snapshot 87 (t = 17391 B)
+Massif: took snapshot 88 (t = 17578 B)
+Massif: took snapshot 89 (t = 17766 B) (detailed)
+Massif: took snapshot 90 (t = 17955 B)
+Massif: took snapshot 91 (t = 18145 B)
+Massif: took snapshot 92 (t = 18336 B)
+Massif: took snapshot 93 (t = 18528 B)
+Massif: took snapshot 94 (t = 18721 B)
+Massif: took snapshot 95 (t = 18915 B)
+Massif: took snapshot 96 (t = 19110 B)
+Massif: took snapshot 97 (t = 19306 B)
+Massif: took snapshot 98 (t = 19503 B)
+Massif: took snapshot 99 (t = 19701 B) (detailed)
+Massif: Culling...
+Massif: cull 0 (t-span = 297) snapshot 49 (t = 11026 B) (detailed)
+Massif: cull 1 (t-span = 301) snapshot 51 (t = 11325 B)
+Massif: cull 2 (t-span = 305) snapshot 53 (t = 11628 B)
+Massif: cull 3 (t-span = 309) snapshot 55 (t = 11935 B)
+Massif: cull 4 (t-span = 310) snapshot 13 (t = 3003 B)
+Massif: cull 5 (t-span = 313) snapshot 57 (t = 12246 B)
+Massif: cull 6 (t-span = 317) snapshot 59 (t = 12561 B) (detailed)
+Massif: cull 7 (t-span = 321) snapshot 61 (t = 12880 B)
+Massif: cull 8 (t-span = 325) snapshot 63 (t = 13203 B)
+Massif: cull 9 (t-span = 326) snapshot 15 (t = 3321 B)
+Massif: cull 10 (t-span = 329) snapshot 65 (t = 13530 B)
+Massif: cull 11 (t-span = 333) snapshot 67 (t = 13861 B)
+Massif: cull 12 (t-span = 337) snapshot 69 (t = 14196 B) (detailed)
+Massif: cull 13 (t-span = 341) snapshot 71 (t = 14535 B)
+Massif: cull 14 (t-span = 342) snapshot 17 (t = 3655 B)
+Massif: cull 15 (t-span = 345) snapshot 73 (t = 14878 B)
+Massif: cull 16 (t-span = 348) snapshot 4 (t = 946 B)
+Massif: cull 17 (t-span = 349) snapshot 75 (t = 15225 B)
+Massif: cull 18 (t-span = 353) snapshot 77 (t = 15576 B)
+Massif: cull 19 (t-span = 357) snapshot 79 (t = 15931 B) (detailed)
+Massif: cull 20 (t-span = 358) snapshot 19 (t = 4005 B)
+Massif: cull 21 (t-span = 361) snapshot 81 (t = 16290 B)
+Massif: cull 22 (t-span = 365) snapshot 83 (t = 16653 B)
+Massif: cull 23 (t-span = 369) snapshot 85 (t = 17020 B)
+Massif: cull 24 (t-span = 373) snapshot 87 (t = 17391 B)
+Massif: cull 25 (t-span = 374) snapshot 21 (t = 4371 B)
+Massif: cull 26 (t-span = 377) snapshot 89 (t = 17766 B) (detailed)
+Massif: cull 27 (t-span = 381) snapshot 91 (t = 18145 B)
+Massif: cull 28 (t-span = 385) snapshot 93 (t = 18528 B)
+Massif: cull 29 (t-span = 389) snapshot 95 (t = 18915 B)
+Massif: cull 30 (t-span = 390) snapshot 23 (t = 4753 B)
+Massif: cull 31 (t-span = 393) snapshot 97 (t = 19306 B)
+Massif: cull 32 (t-span = 406) snapshot 25 (t = 5151 B)
+Massif: cull 33 (t-span = 412) snapshot 6 (t = 1326 B)
+Massif: cull 34 (t-span = 422) snapshot 27 (t = 5565 B)
+Massif: cull 35 (t-span = 438) snapshot 29 (t = 5995 B)
+Massif: cull 36 (t-span = 454) snapshot 31 (t = 6441 B)
+Massif: cull 37 (t-span = 470) snapshot 33 (t = 6903 B)
+Massif: cull 38 (t-span = 476) snapshot 8 (t = 1770 B)
+Massif: cull 39 (t-span = 486) snapshot 35 (t = 7381 B)
+Massif: cull 40 (t-span = 496) snapshot 1 (t = 276 B)
+Massif: cull 41 (t-span = 502) snapshot 37 (t = 7875 B)
+Massif: cull 42 (t-span = 518) snapshot 39 (t = 8385 B)
+Massif: cull 43 (t-span = 534) snapshot 41 (t = 8911 B)
+Massif: cull 44 (t-span = 540) snapshot 10 (t = 2278 B)
+Massif: cull 45 (t-span = 550) snapshot 43 (t = 9453 B)
+Massif: cull 46 (t-span = 566) snapshot 45 (t = 10011 B)
+Massif: cull 47 (t-span = 582) snapshot 47 (t = 10585 B)
+Massif: cull 48 (t-span = 591) snapshot 98 (t = 19503 B)
+Massif: cull 49 (t-span = 598) snapshot 50 (t = 11175 B)
+Massif: Finished culling ( 50 of 100 deleted)
+Massif: new snapshot 0 (t = 0 B)
+Massif: new snapshot 1 (t = 496 B)
+Massif: new snapshot 2 (t = 780 B)
+Massif: new snapshot 3 (t = 1128 B)
+Massif: new snapshot 4 (t = 1540 B)
+Massif: new snapshot 5 (t = 2016 B)
+Massif: new snapshot 6 (t = 2556 B)
+Massif: new snapshot 7 (t = 2850 B)
+Massif: new snapshot 8 (t = 3160 B)
+Massif: new snapshot 9 (t = 3486 B)
+Massif: new snapshot 10 (t = 3828 B)
+Massif: new snapshot 11 (t = 4186 B)
+Massif: new snapshot 12 (t = 4560 B)
+Massif: new snapshot 13 (t = 4950 B)
+Massif: new snapshot 14 (t = 5356 B)
+Massif: new snapshot 15 (t = 5778 B)
+Massif: new snapshot 16 (t = 6216 B)
+Massif: new snapshot 17 (t = 6670 B)
+Massif: new snapshot 18 (t = 7140 B)
+Massif: new snapshot 19 (t = 7626 B)
+Massif: new snapshot 20 (t = 8128 B)
+Massif: new snapshot 21 (t = 8646 B)
+Massif: new snapshot 22 (t = 9180 B)
+Massif: new snapshot 23 (t = 9730 B)
+Massif: new snapshot 24 (t = 10296 B)
+Massif: new snapshot 25 (t = 10878 B)
+Massif: new snapshot 26 (t = 11476 B)
+Massif: new snapshot 27 (t = 11781 B)
+Massif: new snapshot 28 (t = 12090 B)
+Massif: new snapshot 29 (t = 12403 B)
+Massif: new snapshot 30 (t = 12720 B)
+Massif: new snapshot 31 (t = 13041 B)
+Massif: new snapshot 32 (t = 13366 B)
+Massif: new snapshot 33 (t = 13695 B)
+Massif: new snapshot 34 (t = 14028 B)
+Massif: new snapshot 35 (t = 14365 B)
+Massif: new snapshot 36 (t = 14706 B)
+Massif: new snapshot 37 (t = 15051 B)
+Massif: new snapshot 38 (t = 15400 B)
+Massif: new snapshot 39 (t = 15753 B)
+Massif: new snapshot 40 (t = 16110 B)
+Massif: new snapshot 41 (t = 16471 B)
+Massif: new snapshot 42 (t = 16836 B)
+Massif: new snapshot 43 (t = 17205 B)
+Massif: new snapshot 44 (t = 17578 B)
+Massif: new snapshot 45 (t = 17955 B)
+Massif: new snapshot 46 (t = 18336 B)
+Massif: new snapshot 47 (t = 18721 B)
+Massif: new snapshot 48 (t = 19110 B)
+Massif: new snapshot 49 (t = 19701 B) (detailed)
+Massif: New time interval = 284 (between snapshots 1 and 2)
+Massif: allocs: 200
+Massif: zeroallocs: 1 (0%)
+Massif: frees: 0
+Massif: XPts: 2
+Massif: top-XPts: 1 (50%)
+Massif: dup'd XPts: 40
+Massif: dup'd/freed XPts: 38
+Massif: XPt-expansions: 1
+Massif: skipped snapshots: 1
+Massif: real snapshots: 200
+Massif: cullings: 3
+Massif: XCon_redos: 0
Added: branches/MASSIF2/massif/tests/culling2.vgtest
===================================================================
--- branches/MASSIF2/massif/tests/culling2.vgtest (rev 0)
+++ branches/MASSIF2/massif/tests/culling2.vgtest 2007-09-21 00:26:56 UTC (rev 6881)
@@ -0,0 +1,4 @@
+prog: culling2
+vgopts: -v --stacks=no --time-unit=B
+stderr_filter: filter_verbose
+cleanup: rm massif.out
Added: branches/MASSIF2/massif/tests/filter_verbose
===================================================================
--- branches/MASSIF2/massif/tests/filter_verbose (rev 0)
+++ branches/MASSIF2/massif/tests/filter_verbose 2007-09-21 00:26:56 UTC (rev 6881)
@@ -0,0 +1,12 @@
+#! /bin/sh
+
+# This filters out all the lines that don't have "Massif:" in them. For
+# testing the -v option.
+
+dir=`dirname $0`
+
+$dir/filter_stderr |
+
+# Only print lines that contain "Massif:". The -n means don't print any
+# lines by default, and the 'p' means do print those that match the pattern.
+sed -n "/Massif:/p"
Property changes on: branches/MASSIF2/massif/tests/filter_verbose
___________________________________________________________________
Name: svn:executable
+ *
|