1
0
mirror of https://github.com/ioacademy-jikim/debugging synced 2026-08-30 09:19:28 +00:00

first commit

This commit is contained in:
jikim
2015-12-13 22:34:58 +09:00
commit 0b589c7986
9455 changed files with 4350134 additions and 0 deletions
@@ -0,0 +1 @@
# dummy
@@ -0,0 +1 @@
# dummy
@@ -0,0 +1 @@
# dummy
@@ -0,0 +1 @@
# dummy
@@ -0,0 +1 @@
# dummy
@@ -0,0 +1 @@
# dummy
@@ -0,0 +1 @@
# dummy
@@ -0,0 +1 @@
# dummy
@@ -0,0 +1 @@
# dummy
@@ -0,0 +1 @@
# dummy
@@ -0,0 +1 @@
# dummy
@@ -0,0 +1 @@
# dummy
@@ -0,0 +1 @@
# dummy
@@ -0,0 +1 @@
# dummy
@@ -0,0 +1 @@
# dummy
@@ -0,0 +1 @@
# dummy
@@ -0,0 +1 @@
# dummy
@@ -0,0 +1 @@
# dummy
@@ -0,0 +1 @@
# dummy
@@ -0,0 +1 @@
# dummy
@@ -0,0 +1 @@
# dummy
@@ -0,0 +1 @@
# dummy
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,81 @@
include $(top_srcdir)/Makefile.tool-tests.am
dist_noinst_SCRIPTS = filter_stderr filter_verbose
EXTRA_DIST = \
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 \
basic2.post.exp basic2.stderr.exp basic2.vgtest \
big-alloc.post.exp big-alloc.post.exp-64bit big-alloc.post.exp-ppc64 \
big-alloc.stderr.exp big-alloc.vgtest \
deep-A.post.exp deep-A.stderr.exp deep-A.vgtest \
deep-B.post.exp deep-B.stderr.exp deep-B.vgtest \
deep-C.post.exp deep-C.stderr.exp deep-C.vgtest \
deep-D.post.exp deep-D.stderr.exp deep-D.vgtest \
deep-D.post.exp-ppc64 \
culling1.stderr.exp culling1.vgtest \
culling2.stderr.exp culling2.vgtest \
custom_alloc.post.exp custom_alloc.stderr.exp custom_alloc.vgtest \
ignored.post.exp ignored.stderr.exp ignored.vgtest \
ignoring.post.exp ignoring.stderr.exp ignoring.vgtest \
insig.post.exp insig.stderr.exp insig.vgtest \
long-names.post.exp long-names.stderr.exp long-names.vgtest \
long-time.post.exp long-time.stderr.exp long-time.vgtest \
malloc_usable.stderr.exp malloc_usable.vgtest \
new-cpp.post.exp new-cpp.stderr.exp new-cpp.vgtest \
no-stack-no-heap.post.exp no-stack-no-heap.stderr.exp no-stack-no-heap.vgtest \
null.post.exp null.stderr.exp null.vgtest \
one.post.exp one.post.exp2 one.stderr.exp one.vgtest \
overloaded-new.post.exp overloaded-new.post.exp-mips32 \
overloaded-new.stderr.exp overloaded-new.vgtest \
pages_as_heap.stderr.exp pages_as_heap.vgtest \
peak.post.exp peak.stderr.exp peak.vgtest \
peak2.post.exp peak2.stderr.exp peak2.vgtest \
realloc.post.exp realloc.stderr.exp realloc.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 \
thresholds_5_0.post.exp \
thresholds_5_0.stderr.exp thresholds_5_0.vgtest \
thresholds_5_10.post.exp \
thresholds_5_10.stderr.exp thresholds_5_10.vgtest \
thresholds_10_10.post.exp \
thresholds_10_10.stderr.exp thresholds_10_10.vgtest \
zero1.post.exp zero1.stderr.exp zero1.vgtest \
zero2.post.exp zero2.stderr.exp zero2.vgtest
check_PROGRAMS = \
alloc-fns \
basic \
big-alloc \
culling1 culling2 \
custom_alloc \
deep \
ignored \
ignoring \
insig \
long-names \
long-time \
malloc_usable \
new-cpp \
null \
one \
overloaded-new \
pages_as_heap \
peak \
realloc \
thresholds \
zero
AM_CFLAGS += $(AM_FLAG_M3264_PRI)
AM_CXXFLAGS += $(AM_FLAG_M3264_PRI)
# C++ tests
new_cpp_SOURCES = new-cpp.cpp
overloaded_new_SOURCES = overloaded-new.cpp
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,82 @@
--------------------------------------------------------------------------------
Command: ./alloc-fns
Massif arguments: --stacks=no --time-unit=B --heap-admin=0 --massif-out-file=massif.out --ignore-fn=__part_load_locale --ignore-fn=__time_load_locale --ignore-fn=dwarf2_unwind_dyld_add_image_hook --ignore-fn=get_or_create_key_element
ms_print arguments: massif.out
--------------------------------------------------------------------------------
KB
3.516^ @
| @
| @
| :::::::@
| : @
| ::::::::: @
| : : @
| ::::::::: : @
| : : : @
| ::::::::: : : @
| : : : : @
| : : : : @
| ::::::::: : : : @
| : : : : : @
| ::::::::: : : : : @
| : : : : : : @
| ::::::::: : : : : : @
| : : : : : : : @
| ::::::::: : : : : : : @
| : : : : : : : : @
0 +----------------------------------------------------------------------->KB
0 3.516
Number of snapshots: 10
Detailed snapshots: [9]
--------------------------------------------------------------------------------
n time(B) total(B) useful-heap(B) extra-heap(B) stacks(B)
--------------------------------------------------------------------------------
0 0 0 0 0 0
1 400 400 400 0 0
2 800 800 800 0 0
3 1,200 1,200 1,200 0 0
4 1,600 1,600 1,600 0 0
5 2,000 2,000 2,000 0 0
6 2,400 2,400 2,400 0 0
7 2,800 2,800 2,800 0 0
8 3,200 3,200 3,200 0 0
9 3,600 3,600 3,600 0 0
100.00% (3,600B) (heap allocation functions) malloc/new/new[], --alloc-fns, etc.
->44.44% (1,600B) 0x........: d4 (alloc-fns.c:18)
| ->33.33% (1,200B) 0x........: d3 (alloc-fns.c:19)
| | ->22.22% (800B) 0x........: d2 (alloc-fns.c:20)
| | | ->11.11% (400B) 0x........: d1 (alloc-fns.c:21)
| | | | ->11.11% (400B) 0x........: main (alloc-fns.c:30)
| | | |
| | | ->11.11% (400B) 0x........: main (alloc-fns.c:31)
| | |
| | ->11.11% (400B) 0x........: main (alloc-fns.c:32)
| |
| ->11.11% (400B) 0x........: main (alloc-fns.c:33)
|
->33.33% (1,200B) 0x........: a4 (alloc-fns.c:3)
| ->33.33% (1,200B) 0x........: a3 (alloc-fns.c:4)
| ->33.33% (1,200B) 0x........: a2 (alloc-fns.c:5)
| ->33.33% (1,200B) 0x........: a1 (alloc-fns.c:6)
| ->11.11% (400B) 0x........: main (alloc-fns.c:25)
| |
| ->11.11% (400B) 0x........: main (alloc-fns.c:26)
| |
| ->11.11% (400B) 0x........: main (alloc-fns.c:27)
|
->11.11% (400B) 0x........: b4 (alloc-fns.c:8)
| ->11.11% (400B) 0x........: b3 (alloc-fns.c:9)
| ->11.11% (400B) 0x........: b2 (alloc-fns.c:10)
| ->11.11% (400B) 0x........: b1 (alloc-fns.c:11)
| ->11.11% (400B) 0x........: main (alloc-fns.c:28)
|
->11.11% (400B) 0x........: c4 (alloc-fns.c:13)
->11.11% (400B) 0x........: c3 (alloc-fns.c:14)
->11.11% (400B) 0x........: c2 (alloc-fns.c:15)
->11.11% (400B) 0x........: c1 (alloc-fns.c:16)
->11.11% (400B) 0x........: main (alloc-fns.c:29)
@@ -0,0 +1,5 @@
prog: alloc-fns
vgopts: --stacks=no --time-unit=B --heap-admin=0 --massif-out-file=massif.out
vgopts: --ignore-fn=__part_load_locale --ignore-fn=__time_load_locale --ignore-fn=dwarf2_unwind_dyld_add_image_hook --ignore-fn=get_or_create_key_element
post: perl ../../massif/ms_print massif.out | ../../tests/filter_addresses
cleanup: rm massif.out
@@ -0,0 +1,72 @@
--------------------------------------------------------------------------------
Command: ./alloc-fns
Massif arguments: --stacks=no --time-unit=B --heap-admin=0 --alloc-fn=a4 --alloc-fn=b4 --alloc-fn=b3 --alloc-fn=c4 --alloc-fn=c3 --alloc-fn=c2 --alloc-fn=d4 --alloc-fn=d3 --alloc-fn=d2 --alloc-fn=d1 --massif-out-file=massif.out --ignore-fn=__part_load_locale --ignore-fn=__time_load_locale --ignore-fn=dwarf2_unwind_dyld_add_image_hook --ignore-fn=get_or_create_key_element
ms_print arguments: massif.out
--------------------------------------------------------------------------------
KB
3.516^ @
| @
| @
| :::::::@
| : @
| ::::::::: @
| : : @
| ::::::::: : @
| : : : @
| ::::::::: : : @
| : : : : @
| : : : : @
| ::::::::: : : : @
| : : : : : @
| ::::::::: : : : : @
| : : : : : : @
| ::::::::: : : : : : @
| : : : : : : : @
| ::::::::: : : : : : : @
| : : : : : : : : @
0 +----------------------------------------------------------------------->KB
0 3.516
Number of snapshots: 10
Detailed snapshots: [9]
--------------------------------------------------------------------------------
n time(B) total(B) useful-heap(B) extra-heap(B) stacks(B)
--------------------------------------------------------------------------------
0 0 0 0 0 0
1 400 400 400 0 0
2 800 800 800 0 0
3 1,200 1,200 1,200 0 0
4 1,600 1,600 1,600 0 0
5 2,000 2,000 2,000 0 0
6 2,400 2,400 2,400 0 0
7 2,800 2,800 2,800 0 0
8 3,200 3,200 3,200 0 0
9 3,600 3,600 3,600 0 0
100.00% (3,600B) (heap allocation functions) malloc/new/new[], --alloc-fns, etc.
->33.33% (1,200B) 0x........: a3 (alloc-fns.c:4)
| ->33.33% (1,200B) 0x........: a2 (alloc-fns.c:5)
| ->33.33% (1,200B) 0x........: a1 (alloc-fns.c:6)
| ->11.11% (400B) 0x........: main (alloc-fns.c:25)
| |
| ->11.11% (400B) 0x........: main (alloc-fns.c:26)
| |
| ->11.11% (400B) 0x........: main (alloc-fns.c:27)
|
->11.11% (400B) 0x........: c1 (alloc-fns.c:16)
| ->11.11% (400B) 0x........: main (alloc-fns.c:29)
|
->11.11% (400B) 0x........: main (alloc-fns.c:30)
|
->11.11% (400B) 0x........: main (alloc-fns.c:31)
|
->11.11% (400B) 0x........: main (alloc-fns.c:32)
|
->11.11% (400B) 0x........: main (alloc-fns.c:33)
|
->11.11% (400B) 0x........: b2 (alloc-fns.c:10)
->11.11% (400B) 0x........: b1 (alloc-fns.c:11)
->11.11% (400B) 0x........: main (alloc-fns.c:28)
@@ -0,0 +1,5 @@
prog: alloc-fns
vgopts: --stacks=no --time-unit=B --heap-admin=0 --alloc-fn=a4 --alloc-fn=b4 --alloc-fn=b3 --alloc-fn=c4 --alloc-fn=c3 --alloc-fn=c2 --alloc-fn=d4 --alloc-fn=d3 --alloc-fn=d2 --alloc-fn=d1 --massif-out-file=massif.out
vgopts: --ignore-fn=__part_load_locale --ignore-fn=__time_load_locale --ignore-fn=dwarf2_unwind_dyld_add_image_hook --ignore-fn=get_or_create_key_element
post: perl ../../massif/ms_print massif.out | ../../tests/filter_addresses
cleanup: rm massif.out
@@ -0,0 +1,35 @@
#include <stdlib.h>
void a4(int n) { malloc(n); }
void a3(int n) { a4(n); }
void a2(int n) { a3(n); }
void a1(int n) { a2(n); }
void b4(int n) { malloc(n); }
void b3(int n) { b4(n); }
void b2(int n) { b3(n); }
void b1(int n) { b2(n); }
void c4(int n) { malloc(n); }
void c3(int n) { c4(n); }
void c2(int n) { c3(n); }
void c1(int n) { c2(n); }
void d4(int n) { malloc(n); }
void d3(int n) { d4(n); }
void d2(int n) { d3(n); }
void d1(int n) { d2(n); }
int main(void)
{
a1(400); // We use a number that's a multiple of 16, so there's no slop
a1(400); // bytes.
a1(400);
b1(400);
c1(400);
d1(400);
d2(400);
d3(400);
d4(400);
return 0;
}
@@ -0,0 +1,21 @@
#include <stdlib.h>
// Allocate some memory and then deallocate it, to get a nice up-then-down
// graph.
int main(void)
{
// N=36 gives us 72 snapshots, which fills the text graph nicely.
#define N 36
int i;
int* a[N];
for (i = 0; i < N; i++) {
a[i] = malloc(400); // 400 is divisible by 16 -- so no slop.
}
for (i = 0; i < N-1; i++) {
free(a[i]);
}
return 0;
}
@@ -0,0 +1,152 @@
--------------------------------------------------------------------------------
Command: ./basic
Massif arguments: --stacks=no --time-unit=B --massif-out-file=massif.out --ignore-fn=__part_load_locale --ignore-fn=__time_load_locale --ignore-fn=dwarf2_unwind_dyld_add_image_hook --ignore-fn=get_or_create_key_element
ms_print arguments: massif.out
--------------------------------------------------------------------------------
KB
14.34^ #
| :#:
| :::#:::
| :::::#:::::
| @::::::#:::::::
| ::@::::::#:::::::::
| :::@::::::#:::::::::@
| :::::@::::::#:::::::::@::
| :::::::@::::::#:::::::::@::::
| :::::::::@::::::#:::::::::@::::::
| :@:::::::::@::::::#:::::::::@::::::::
| ::@:::::::::@::::::#:::::::::@:::::::::
| ::::@:::::::::@::::::#:::::::::@:::::::::@:
| ::::::@:::::::::@::::::#:::::::::@:::::::::@:::
| ::::::::@:::::::::@::::::#:::::::::@:::::::::@:::::
| @:::::::::@:::::::::@::::::#:::::::::@:::::::::@:::::::
| :@:::::::::@:::::::::@::::::#:::::::::@:::::::::@::::::::
| :::@:::::::::@:::::::::@::::::#:::::::::@:::::::::@:::::::::@
| :::::@:::::::::@:::::::::@::::::#:::::::::@:::::::::@:::::::::@::
| :::::::@:::::::::@:::::::::@::::::#:::::::::@:::::::::@:::::::::@::::
0 +----------------------------------------------------------------------->KB
0 28.29
Number of snapshots: 73
Detailed snapshots: [9, 19, 29, 37 (peak), 47, 57, 67]
--------------------------------------------------------------------------------
n time(B) total(B) useful-heap(B) extra-heap(B) stacks(B)
--------------------------------------------------------------------------------
0 0 0 0 0 0
1 408 408 400 8 0
2 816 816 800 16 0
3 1,224 1,224 1,200 24 0
4 1,632 1,632 1,600 32 0
5 2,040 2,040 2,000 40 0
6 2,448 2,448 2,400 48 0
7 2,856 2,856 2,800 56 0
8 3,264 3,264 3,200 64 0
9 3,672 3,672 3,600 72 0
98.04% (3,600B) (heap allocation functions) malloc/new/new[], --alloc-fns, etc.
->98.04% (3,600B) 0x........: main (basic.c:14)
--------------------------------------------------------------------------------
n time(B) total(B) useful-heap(B) extra-heap(B) stacks(B)
--------------------------------------------------------------------------------
10 4,080 4,080 4,000 80 0
11 4,488 4,488 4,400 88 0
12 4,896 4,896 4,800 96 0
13 5,304 5,304 5,200 104 0
14 5,712 5,712 5,600 112 0
15 6,120 6,120 6,000 120 0
16 6,528 6,528 6,400 128 0
17 6,936 6,936 6,800 136 0
18 7,344 7,344 7,200 144 0
19 7,752 7,752 7,600 152 0
98.04% (7,600B) (heap allocation functions) malloc/new/new[], --alloc-fns, etc.
->98.04% (7,600B) 0x........: main (basic.c:14)
--------------------------------------------------------------------------------
n time(B) total(B) useful-heap(B) extra-heap(B) stacks(B)
--------------------------------------------------------------------------------
20 8,160 8,160 8,000 160 0
21 8,568 8,568 8,400 168 0
22 8,976 8,976 8,800 176 0
23 9,384 9,384 9,200 184 0
24 9,792 9,792 9,600 192 0
25 10,200 10,200 10,000 200 0
26 10,608 10,608 10,400 208 0
27 11,016 11,016 10,800 216 0
28 11,424 11,424 11,200 224 0
29 11,832 11,832 11,600 232 0
98.04% (11,600B) (heap allocation functions) malloc/new/new[], --alloc-fns, etc.
->98.04% (11,600B) 0x........: main (basic.c:14)
--------------------------------------------------------------------------------
n time(B) total(B) useful-heap(B) extra-heap(B) stacks(B)
--------------------------------------------------------------------------------
30 12,240 12,240 12,000 240 0
31 12,648 12,648 12,400 248 0
32 13,056 13,056 12,800 256 0
33 13,464 13,464 13,200 264 0
34 13,872 13,872 13,600 272 0
35 14,280 14,280 14,000 280 0
36 14,688 14,688 14,400 288 0
37 14,688 14,688 14,400 288 0
98.04% (14,400B) (heap allocation functions) malloc/new/new[], --alloc-fns, etc.
->98.04% (14,400B) 0x........: main (basic.c:14)
--------------------------------------------------------------------------------
n time(B) total(B) useful-heap(B) extra-heap(B) stacks(B)
--------------------------------------------------------------------------------
38 15,096 14,280 14,000 280 0
39 15,504 13,872 13,600 272 0
40 15,912 13,464 13,200 264 0
41 16,320 13,056 12,800 256 0
42 16,728 12,648 12,400 248 0
43 17,136 12,240 12,000 240 0
44 17,544 11,832 11,600 232 0
45 17,952 11,424 11,200 224 0
46 18,360 11,016 10,800 216 0
47 18,768 10,608 10,400 208 0
98.04% (10,400B) (heap allocation functions) malloc/new/new[], --alloc-fns, etc.
->98.04% (10,400B) 0x........: main (basic.c:14)
--------------------------------------------------------------------------------
n time(B) total(B) useful-heap(B) extra-heap(B) stacks(B)
--------------------------------------------------------------------------------
48 19,176 10,200 10,000 200 0
49 19,584 9,792 9,600 192 0
50 19,992 9,384 9,200 184 0
51 20,400 8,976 8,800 176 0
52 20,808 8,568 8,400 168 0
53 21,216 8,160 8,000 160 0
54 21,624 7,752 7,600 152 0
55 22,032 7,344 7,200 144 0
56 22,440 6,936 6,800 136 0
57 22,848 6,528 6,400 128 0
98.04% (6,400B) (heap allocation functions) malloc/new/new[], --alloc-fns, etc.
->98.04% (6,400B) 0x........: main (basic.c:14)
--------------------------------------------------------------------------------
n time(B) total(B) useful-heap(B) extra-heap(B) stacks(B)
--------------------------------------------------------------------------------
58 23,256 6,120 6,000 120 0
59 23,664 5,712 5,600 112 0
60 24,072 5,304 5,200 104 0
61 24,480 4,896 4,800 96 0
62 24,888 4,488 4,400 88 0
63 25,296 4,080 4,000 80 0
64 25,704 3,672 3,600 72 0
65 26,112 3,264 3,200 64 0
66 26,520 2,856 2,800 56 0
67 26,928 2,448 2,400 48 0
98.04% (2,400B) (heap allocation functions) malloc/new/new[], --alloc-fns, etc.
->98.04% (2,400B) 0x........: main (basic.c:14)
--------------------------------------------------------------------------------
n time(B) total(B) useful-heap(B) extra-heap(B) stacks(B)
--------------------------------------------------------------------------------
68 27,336 2,040 2,000 40 0
69 27,744 1,632 1,600 32 0
70 28,152 1,224 1,200 24 0
71 28,560 816 800 16 0
72 28,968 408 400 8 0
@@ -0,0 +1,2 @@
@@ -0,0 +1,5 @@
prog: basic
vgopts: --stacks=no --time-unit=B --massif-out-file=massif.out
vgopts: --ignore-fn=__part_load_locale --ignore-fn=__time_load_locale --ignore-fn=dwarf2_unwind_dyld_add_image_hook --ignore-fn=get_or_create_key_element
post: perl ../../massif/ms_print massif.out | ../../tests/filter_addresses
cleanup: rm massif.out
@@ -0,0 +1,96 @@
--------------------------------------------------------------------------------
Command: ./basic
Massif arguments: --stacks=no --time-unit=B --massif-out-file=massif.out --detailed-freq=1 --max-snapshots=10 --ignore-fn=__part_load_locale --ignore-fn=__time_load_locale --ignore-fn=dwarf2_unwind_dyld_add_image_hook --ignore-fn=get_or_create_key_element
ms_print arguments: massif.out
--------------------------------------------------------------------------------
KB
14.34^ ########
| #
| #
| #
| #
| @@@@@@@@@@# @@@@@@@@@
| @ # @
| @ # @
| @ # @
| @ # @ @@@@@@@@
| @@@@@@@@@ # @ @
| @ @ # @ @
| @ @ # @ @
| @ @ # @ @
| @ @ # @ @ @@@@@@@@
| @@@@@@@@@@@@ @ # @ @ @
| @ @ @ # @ @ @
| @ @ @ # @ @ @
| @ @ @ # @ @ @ @
| @ @ @ # @ @ @ @
0 +----------------------------------------------------------------------->KB
0 27.09
Number of snapshots: 9
Detailed snapshots: [0, 1, 2, 3, 4 (peak), 5, 6, 7, 8]
--------------------------------------------------------------------------------
n time(B) total(B) useful-heap(B) extra-heap(B) stacks(B)
--------------------------------------------------------------------------------
0 0 0 0 0 0
00.00% (0B) (heap allocation functions) malloc/new/new[], --alloc-fns, etc.
--------------------------------------------------------------------------------
n time(B) total(B) useful-heap(B) extra-heap(B) stacks(B)
--------------------------------------------------------------------------------
1 3,672 3,672 3,600 72 0
98.04% (3,600B) (heap allocation functions) malloc/new/new[], --alloc-fns, etc.
->98.04% (3,600B) 0x........: main (basic.c:14)
--------------------------------------------------------------------------------
n time(B) total(B) useful-heap(B) extra-heap(B) stacks(B)
--------------------------------------------------------------------------------
2 7,752 7,752 7,600 152 0
98.04% (7,600B) (heap allocation functions) malloc/new/new[], --alloc-fns, etc.
->98.04% (7,600B) 0x........: main (basic.c:14)
--------------------------------------------------------------------------------
n time(B) total(B) useful-heap(B) extra-heap(B) stacks(B)
--------------------------------------------------------------------------------
3 11,016 11,016 10,800 216 0
98.04% (10,800B) (heap allocation functions) malloc/new/new[], --alloc-fns, etc.
->98.04% (10,800B) 0x........: main (basic.c:14)
--------------------------------------------------------------------------------
n time(B) total(B) useful-heap(B) extra-heap(B) stacks(B)
--------------------------------------------------------------------------------
4 14,688 14,688 14,400 288 0
98.04% (14,400B) (heap allocation functions) malloc/new/new[], --alloc-fns, etc.
->98.04% (14,400B) 0x........: main (basic.c:14)
--------------------------------------------------------------------------------
n time(B) total(B) useful-heap(B) extra-heap(B) stacks(B)
--------------------------------------------------------------------------------
5 17,952 11,424 11,200 224 0
98.04% (11,200B) (heap allocation functions) malloc/new/new[], --alloc-fns, etc.
->98.04% (11,200B) 0x........: main (basic.c:14)
--------------------------------------------------------------------------------
n time(B) total(B) useful-heap(B) extra-heap(B) stacks(B)
--------------------------------------------------------------------------------
6 21,216 8,160 8,000 160 0
98.04% (8,000B) (heap allocation functions) malloc/new/new[], --alloc-fns, etc.
->98.04% (8,000B) 0x........: main (basic.c:14)
--------------------------------------------------------------------------------
n time(B) total(B) useful-heap(B) extra-heap(B) stacks(B)
--------------------------------------------------------------------------------
7 24,480 4,896 4,800 96 0
98.04% (4,800B) (heap allocation functions) malloc/new/new[], --alloc-fns, etc.
->98.04% (4,800B) 0x........: main (basic.c:14)
--------------------------------------------------------------------------------
n time(B) total(B) useful-heap(B) extra-heap(B) stacks(B)
--------------------------------------------------------------------------------
8 27,744 1,632 1,600 32 0
98.04% (1,600B) (heap allocation functions) malloc/new/new[], --alloc-fns, etc.
->98.04% (1,600B) 0x........: main (basic.c:14)
@@ -0,0 +1,2 @@
@@ -0,0 +1,5 @@
prog: basic
vgopts: --stacks=no --time-unit=B --massif-out-file=massif.out --detailed-freq=1 --max-snapshots=10
vgopts: --ignore-fn=__part_load_locale --ignore-fn=__time_load_locale --ignore-fn=dwarf2_unwind_dyld_add_image_hook --ignore-fn=get_or_create_key_element
post: perl ../../massif/ms_print massif.out | ../../tests/filter_addresses
cleanup: rm massif.out
@@ -0,0 +1,16 @@
#include <stdlib.h>
// Do some big allocations. At one point, the threshold calculation was
// multiplying the szB by 10000 without using a Long, which was causing the
// threshold calculation to go wrong due to a 32-bit overflow.
int main(void)
{
// 100MB all up.
int i;
for (i = 0; i < 10; i++) {
malloc(10 * 1024 * 1024);
}
return 0;
}
@@ -0,0 +1,54 @@
--------------------------------------------------------------------------------
Command: ./big-alloc
Massif arguments: --stacks=no --time-unit=B --massif-out-file=massif.out --ignore-fn=__part_load_locale --ignore-fn=__time_load_locale --ignore-fn=dwarf2_unwind_dyld_add_image_hook --ignore-fn=get_or_create_key_element
ms_print arguments: massif.out
--------------------------------------------------------------------------------
MB
100.0^ :
| :
| @@@@@@@:
| @ :
| :::::::@ :
| : @ :
| :::::::: @ :
| : : @ :
| :::::::: : @ :
| : : : @ :
| :::::::: : : @ :
| : : : : @ :
| ::::::::: : : : @ :
| : : : : : @ :
| :::::::: : : : : @ :
| : : : : : : @ :
| :::::::: : : : : : @ :
| : : : : : : : @ :
| :::::::: : : : : : : @ :
| : : : : : : : : @ :
0 +----------------------------------------------------------------------->MB
0 100.0
Number of snapshots: 11
Detailed snapshots: [9]
--------------------------------------------------------------------------------
n time(B) total(B) useful-heap(B) extra-heap(B) stacks(B)
--------------------------------------------------------------------------------
0 0 0 0 0 0
1 10,489,832 10,489,832 10,485,760 4,072 0
2 20,979,664 20,979,664 20,971,520 8,144 0
3 31,469,496 31,469,496 31,457,280 12,216 0
4 41,959,328 41,959,328 41,943,040 16,288 0
5 52,449,160 52,449,160 52,428,800 20,360 0
6 62,938,992 62,938,992 62,914,560 24,432 0
7 73,428,824 73,428,824 73,400,320 28,504 0
8 83,918,656 83,918,656 83,886,080 32,576 0
9 94,408,488 94,408,488 94,371,840 36,648 0
99.96% (94,371,840B) (heap allocation functions) malloc/new/new[], --alloc-fns, etc.
->99.96% (94,371,840B) 0x........: main (big-alloc.c:12)
--------------------------------------------------------------------------------
n time(B) total(B) useful-heap(B) extra-heap(B) stacks(B)
--------------------------------------------------------------------------------
10 104,898,320 104,898,320 104,857,600 40,720 0
@@ -0,0 +1,54 @@
--------------------------------------------------------------------------------
Command: ./big-alloc
Massif arguments: --stacks=no --time-unit=B --massif-out-file=massif.out --ignore-fn=__part_load_locale --ignore-fn=__time_load_locale --ignore-fn=dwarf2_unwind_dyld_add_image_hook --ignore-fn=get_or_create_key_element
ms_print arguments: massif.out
--------------------------------------------------------------------------------
MB
100.0^ :
| :
| @@@@@@@:
| @ :
| :::::::@ :
| : @ :
| :::::::: @ :
| : : @ :
| :::::::: : @ :
| : : : @ :
| :::::::: : : @ :
| : : : : @ :
| ::::::::: : : : @ :
| : : : : : @ :
| :::::::: : : : : @ :
| : : : : : : @ :
| :::::::: : : : : : @ :
| : : : : : : : @ :
| :::::::: : : : : : : @ :
| : : : : : : : : @ :
0 +----------------------------------------------------------------------->MB
0 100.0
Number of snapshots: 11
Detailed snapshots: [9]
--------------------------------------------------------------------------------
n time(B) total(B) useful-heap(B) extra-heap(B) stacks(B)
--------------------------------------------------------------------------------
0 0 0 0 0 0
1 10,489,800 10,489,800 10,485,760 4,040 0
2 20,979,600 20,979,600 20,971,520 8,080 0
3 31,469,400 31,469,400 31,457,280 12,120 0
4 41,959,200 41,959,200 41,943,040 16,160 0
5 52,449,000 52,449,000 52,428,800 20,200 0
6 62,938,800 62,938,800 62,914,560 24,240 0
7 73,428,600 73,428,600 73,400,320 28,280 0
8 83,918,400 83,918,400 83,886,080 32,320 0
9 94,408,200 94,408,200 94,371,840 36,360 0
99.96% (94,371,840B) (heap allocation functions) malloc/new/new[], --alloc-fns, etc.
->99.96% (94,371,840B) 0x........: main (big-alloc.c:12)
--------------------------------------------------------------------------------
n time(B) total(B) useful-heap(B) extra-heap(B) stacks(B)
--------------------------------------------------------------------------------
10 104,898,000 104,898,000 104,857,600 40,400 0
@@ -0,0 +1,54 @@
--------------------------------------------------------------------------------
Command: ./big-alloc
Massif arguments: --stacks=no --time-unit=B --massif-out-file=massif.out --ignore-fn=__part_load_locale --ignore-fn=__time_load_locale --ignore-fn=dwarf2_unwind_dyld_add_image_hook --ignore-fn=get_or_create_key_element
ms_print arguments: massif.out
--------------------------------------------------------------------------------
MB
100.6^ :
| :
| @@@@@@@:
| @ :
| :::::::@ :
| : @ :
| :::::::: @ :
| : : @ :
| :::::::: : @ :
| : : : @ :
| :::::::: : : @ :
| : : : : @ :
| ::::::::: : : : @ :
| : : : : : @ :
| :::::::: : : : : @ :
| : : : : : : @ :
| :::::::: : : : : : @ :
| : : : : : : : @ :
| :::::::: : : : : : : @ :
| : : : : : : : : @ :
0 +----------------------------------------------------------------------->MB
0 100.6
Number of snapshots: 11
Detailed snapshots: [9]
--------------------------------------------------------------------------------
n time(B) total(B) useful-heap(B) extra-heap(B) stacks(B)
--------------------------------------------------------------------------------
0 0 0 0 0 0
1 10,551,240 10,551,240 10,485,760 65,480 0
2 21,102,480 21,102,480 20,971,520 130,960 0
3 31,653,720 31,653,720 31,457,280 196,440 0
4 42,204,960 42,204,960 41,943,040 261,920 0
5 52,756,200 52,756,200 52,428,800 327,400 0
6 63,307,440 63,307,440 62,914,560 392,880 0
7 73,858,680 73,858,680 73,400,320 458,360 0
8 84,409,920 84,409,920 83,886,080 523,840 0
9 94,961,160 94,961,160 94,371,840 589,320 0
99.38% (94,371,840B) (heap allocation functions) malloc/new/new[], --alloc-fns, etc.
->99.38% (94,371,840B) 0x........: main (big-alloc.c:12)
--------------------------------------------------------------------------------
n time(B) total(B) useful-heap(B) extra-heap(B) stacks(B)
--------------------------------------------------------------------------------
10 105,512,400 105,512,400 104,857,600 654,800 0
@@ -0,0 +1,5 @@
prog: big-alloc
vgopts: --stacks=no --time-unit=B --massif-out-file=massif.out
vgopts: --ignore-fn=__part_load_locale --ignore-fn=__time_load_locale --ignore-fn=dwarf2_unwind_dyld_add_image_hook --ignore-fn=get_or_create_key_element
post: perl ../../massif/ms_print massif.out | ../../tests/filter_addresses
cleanup: rm massif.out
@@ -0,0 +1,10 @@
#include <stdlib.h>
int main(void)
{
int i;
for (i = 0; i < 200; i++) {
malloc(16); // divisible by 16 -- no slop
}
return 0;
}
@@ -0,0 +1,448 @@
Massif: alloc-fns:
Massif: malloc
Massif: __builtin_new
Massif: operator new(unsigned)
Massif: operator new(unsigned long)
Massif: __builtin_vec_new
Massif: operator new[](unsigned)
Massif: operator new[](unsigned long)
Massif: calloc
Massif: realloc
Massif: memalign
Massif: posix_memalign
Massif: valloc
Massif: operator new(unsigned, std::nothrow_t const&)
Massif: operator new[](unsigned, std::nothrow_t const&)
Massif: operator new(unsigned long, std::nothrow_t const&)
Massif: operator new[](unsigned long, std::nothrow_t const&)
Massif: ignore-fns:
Massif: 0: __part_load_locale
Massif: 1: __time_load_locale
Massif: 2: dwarf2_unwind_dyld_add_image_hook
Massif: 3: get_or_create_key_element
Massif: startup S. 0 (t:0, hp:0, ex:0, st:0)
Massif: alloc S. 1 (t:32, hp:16, ex:16, st:0)
Massif: alloc S. 2 (t:64, hp:32, ex:32, st:0)
Massif: alloc S. 3 (t:96, hp:48, ex:48, st:0)
Massif: alloc S. 4 (t:128, hp:64, ex:64, st:0)
Massif: alloc S. 5 (t:160, hp:80, ex:80, st:0)
Massif: alloc S. 6 (t:192, hp:96, ex:96, st:0)
Massif: alloc S. 7 (t:224, hp:112, ex:112, st:0)
Massif: alloc S. 8 (t:256, hp:128, ex:128, st:0)
Massif: alloc Sd 9 (t:288, hp:144, ex:144, st:0)
Massif: alloc S. 10 (t:320, hp:160, ex:160, st:0)
Massif: alloc S. 11 (t:352, hp:176, ex:176, st:0)
Massif: alloc S. 12 (t:384, hp:192, ex:192, st:0)
Massif: alloc S. 13 (t:416, hp:208, ex:208, st:0)
Massif: alloc S. 14 (t:448, hp:224, ex:224, st:0)
Massif: alloc S. 15 (t:480, hp:240, ex:240, st:0)
Massif: alloc S. 16 (t:512, hp:256, ex:256, st:0)
Massif: alloc S. 17 (t:544, hp:272, ex:272, st:0)
Massif: alloc S. 18 (t:576, hp:288, ex:288, st:0)
Massif: alloc Sd 19 (t:608, hp:304, ex:304, st:0)
Massif: alloc S. 20 (t:640, hp:320, ex:320, st:0)
Massif: alloc S. 21 (t:672, hp:336, ex:336, st:0)
Massif: alloc S. 22 (t:704, hp:352, ex:352, st:0)
Massif: alloc S. 23 (t:736, hp:368, ex:368, st:0)
Massif: alloc S. 24 (t:768, hp:384, ex:384, st:0)
Massif: alloc S. 25 (t:800, hp:400, ex:400, st:0)
Massif: alloc S. 26 (t:832, hp:416, ex:416, st:0)
Massif: alloc S. 27 (t:864, hp:432, ex:432, st:0)
Massif: alloc S. 28 (t:896, hp:448, ex:448, st:0)
Massif: alloc Sd 29 (t:928, hp:464, ex:464, st:0)
Massif: alloc S. 30 (t:960, hp:480, ex:480, st:0)
Massif: alloc S. 31 (t:992, hp:496, ex:496, st:0)
Massif: alloc S. 32 (t:1024, hp:512, ex:512, st:0)
Massif: alloc S. 33 (t:1056, hp:528, ex:528, st:0)
Massif: alloc S. 34 (t:1088, hp:544, ex:544, st:0)
Massif: alloc S. 35 (t:1120, hp:560, ex:560, st:0)
Massif: alloc S. 36 (t:1152, hp:576, ex:576, st:0)
Massif: alloc S. 37 (t:1184, hp:592, ex:592, st:0)
Massif: alloc S. 38 (t:1216, hp:608, ex:608, st:0)
Massif: alloc Sd 39 (t:1248, hp:624, ex:624, st:0)
Massif: alloc S. 40 (t:1280, hp:640, ex:640, st:0)
Massif: alloc S. 41 (t:1312, hp:656, ex:656, st:0)
Massif: alloc S. 42 (t:1344, hp:672, ex:672, st:0)
Massif: alloc S. 43 (t:1376, hp:688, ex:688, st:0)
Massif: alloc S. 44 (t:1408, hp:704, ex:704, st:0)
Massif: alloc S. 45 (t:1440, hp:720, ex:720, st:0)
Massif: alloc S. 46 (t:1472, hp:736, ex:736, st:0)
Massif: alloc S. 47 (t:1504, hp:752, ex:752, st:0)
Massif: alloc S. 48 (t:1536, hp:768, ex:768, st:0)
Massif: alloc Sd 49 (t:1568, hp:784, ex:784, st:0)
Massif: alloc S. 50 (t:1600, hp:800, ex:800, st:0)
Massif: alloc S. 51 (t:1632, hp:816, ex:816, st:0)
Massif: alloc S. 52 (t:1664, hp:832, ex:832, st:0)
Massif: alloc S. 53 (t:1696, hp:848, ex:848, st:0)
Massif: alloc S. 54 (t:1728, hp:864, ex:864, st:0)
Massif: alloc S. 55 (t:1760, hp:880, ex:880, st:0)
Massif: alloc S. 56 (t:1792, hp:896, ex:896, st:0)
Massif: alloc S. 57 (t:1824, hp:912, ex:912, st:0)
Massif: alloc S. 58 (t:1856, hp:928, ex:928, st:0)
Massif: alloc Sd 59 (t:1888, hp:944, ex:944, st:0)
Massif: alloc S. 60 (t:1920, hp:960, ex:960, st:0)
Massif: alloc S. 61 (t:1952, hp:976, ex:976, st:0)
Massif: alloc S. 62 (t:1984, hp:992, ex:992, st:0)
Massif: alloc S. 63 (t:2016, hp:1008, ex:1008, st:0)
Massif: alloc S. 64 (t:2048, hp:1024, ex:1024, st:0)
Massif: alloc S. 65 (t:2080, hp:1040, ex:1040, st:0)
Massif: alloc S. 66 (t:2112, hp:1056, ex:1056, st:0)
Massif: alloc S. 67 (t:2144, hp:1072, ex:1072, st:0)
Massif: alloc S. 68 (t:2176, hp:1088, ex:1088, st:0)
Massif: alloc Sd 69 (t:2208, hp:1104, ex:1104, st:0)
Massif: alloc S. 70 (t:2240, hp:1120, ex:1120, st:0)
Massif: alloc S. 71 (t:2272, hp:1136, ex:1136, st:0)
Massif: alloc S. 72 (t:2304, hp:1152, ex:1152, st:0)
Massif: alloc S. 73 (t:2336, hp:1168, ex:1168, st:0)
Massif: alloc S. 74 (t:2368, hp:1184, ex:1184, st:0)
Massif: alloc S. 75 (t:2400, hp:1200, ex:1200, st:0)
Massif: alloc S. 76 (t:2432, hp:1216, ex:1216, st:0)
Massif: alloc S. 77 (t:2464, hp:1232, ex:1232, st:0)
Massif: alloc S. 78 (t:2496, hp:1248, ex:1248, st:0)
Massif: alloc Sd 79 (t:2528, hp:1264, ex:1264, st:0)
Massif: alloc S. 80 (t:2560, hp:1280, ex:1280, st:0)
Massif: alloc S. 81 (t:2592, hp:1296, ex:1296, st:0)
Massif: alloc S. 82 (t:2624, hp:1312, ex:1312, st:0)
Massif: alloc S. 83 (t:2656, hp:1328, ex:1328, st:0)
Massif: alloc S. 84 (t:2688, hp:1344, ex:1344, st:0)
Massif: alloc S. 85 (t:2720, hp:1360, ex:1360, st:0)
Massif: alloc S. 86 (t:2752, hp:1376, ex:1376, st:0)
Massif: alloc S. 87 (t:2784, hp:1392, ex:1392, st:0)
Massif: alloc S. 88 (t:2816, hp:1408, ex:1408, st:0)
Massif: alloc Sd 89 (t:2848, hp:1424, ex:1424, st:0)
Massif: alloc S. 90 (t:2880, hp:1440, ex:1440, st:0)
Massif: alloc S. 91 (t:2912, hp:1456, ex:1456, st:0)
Massif: alloc S. 92 (t:2944, hp:1472, ex:1472, st:0)
Massif: alloc S. 93 (t:2976, hp:1488, ex:1488, st:0)
Massif: alloc S. 94 (t:3008, hp:1504, ex:1504, st:0)
Massif: alloc S. 95 (t:3040, hp:1520, ex:1520, st:0)
Massif: alloc S. 96 (t:3072, hp:1536, ex:1536, st:0)
Massif: alloc S. 97 (t:3104, hp:1552, ex:1552, st:0)
Massif: alloc S. 98 (t:3136, hp:1568, ex:1568, st:0)
Massif: alloc Sd 99 (t:3168, hp:1584, ex:1584, st:0)
Massif: Culling...
Massif: 0 (t-span = 64) S. 1 (t:32, hp:16, ex:16, st:0)
Massif: 1 (t-span = 64) S. 3 (t:96, hp:48, ex:48, st:0)
Massif: 2 (t-span = 64) S. 5 (t:160, hp:80, ex:80, st:0)
Massif: 3 (t-span = 64) S. 7 (t:224, hp:112, ex:112, st:0)
Massif: 4 (t-span = 64) Sd 9 (t:288, hp:144, ex:144, st:0)
Massif: 5 (t-span = 64) S. 11 (t:352, hp:176, ex:176, st:0)
Massif: 6 (t-span = 64) S. 13 (t:416, hp:208, ex:208, st:0)
Massif: 7 (t-span = 64) S. 15 (t:480, hp:240, ex:240, st:0)
Massif: 8 (t-span = 64) S. 17 (t:544, hp:272, ex:272, st:0)
Massif: 9 (t-span = 64) Sd 19 (t:608, hp:304, ex:304, st:0)
Massif: 10 (t-span = 64) S. 21 (t:672, hp:336, ex:336, st:0)
Massif: 11 (t-span = 64) S. 23 (t:736, hp:368, ex:368, st:0)
Massif: 12 (t-span = 64) S. 25 (t:800, hp:400, ex:400, st:0)
Massif: 13 (t-span = 64) S. 27 (t:864, hp:432, ex:432, st:0)
Massif: 14 (t-span = 64) Sd 29 (t:928, hp:464, ex:464, st:0)
Massif: 15 (t-span = 64) S. 31 (t:992, hp:496, ex:496, st:0)
Massif: 16 (t-span = 64) S. 33 (t:1056, hp:528, ex:528, st:0)
Massif: 17 (t-span = 64) S. 35 (t:1120, hp:560, ex:560, st:0)
Massif: 18 (t-span = 64) S. 37 (t:1184, hp:592, ex:592, st:0)
Massif: 19 (t-span = 64) Sd 39 (t:1248, hp:624, ex:624, st:0)
Massif: 20 (t-span = 64) S. 41 (t:1312, hp:656, ex:656, st:0)
Massif: 21 (t-span = 64) S. 43 (t:1376, hp:688, ex:688, st:0)
Massif: 22 (t-span = 64) S. 45 (t:1440, hp:720, ex:720, st:0)
Massif: 23 (t-span = 64) S. 47 (t:1504, hp:752, ex:752, st:0)
Massif: 24 (t-span = 64) Sd 49 (t:1568, hp:784, ex:784, st:0)
Massif: 25 (t-span = 64) S. 51 (t:1632, hp:816, ex:816, st:0)
Massif: 26 (t-span = 64) S. 53 (t:1696, hp:848, ex:848, st:0)
Massif: 27 (t-span = 64) S. 55 (t:1760, hp:880, ex:880, st:0)
Massif: 28 (t-span = 64) S. 57 (t:1824, hp:912, ex:912, st:0)
Massif: 29 (t-span = 64) Sd 59 (t:1888, hp:944, ex:944, st:0)
Massif: 30 (t-span = 64) S. 61 (t:1952, hp:976, ex:976, st:0)
Massif: 31 (t-span = 64) S. 63 (t:2016, hp:1008, ex:1008, st:0)
Massif: 32 (t-span = 64) S. 65 (t:2080, hp:1040, ex:1040, st:0)
Massif: 33 (t-span = 64) S. 67 (t:2144, hp:1072, ex:1072, st:0)
Massif: 34 (t-span = 64) Sd 69 (t:2208, hp:1104, ex:1104, st:0)
Massif: 35 (t-span = 64) S. 71 (t:2272, hp:1136, ex:1136, st:0)
Massif: 36 (t-span = 64) S. 73 (t:2336, hp:1168, ex:1168, st:0)
Massif: 37 (t-span = 64) S. 75 (t:2400, hp:1200, ex:1200, st:0)
Massif: 38 (t-span = 64) S. 77 (t:2464, hp:1232, ex:1232, st:0)
Massif: 39 (t-span = 64) Sd 79 (t:2528, hp:1264, ex:1264, st:0)
Massif: 40 (t-span = 64) S. 81 (t:2592, hp:1296, ex:1296, st:0)
Massif: 41 (t-span = 64) S. 83 (t:2656, hp:1328, ex:1328, st:0)
Massif: 42 (t-span = 64) S. 85 (t:2720, hp:1360, ex:1360, st:0)
Massif: 43 (t-span = 64) S. 87 (t:2784, hp:1392, ex:1392, st:0)
Massif: 44 (t-span = 64) Sd 89 (t:2848, hp:1424, ex:1424, st:0)
Massif: 45 (t-span = 64) S. 91 (t:2912, hp:1456, ex:1456, st:0)
Massif: 46 (t-span = 64) S. 93 (t:2976, hp:1488, ex:1488, st:0)
Massif: 47 (t-span = 64) S. 95 (t:3040, hp:1520, ex:1520, st:0)
Massif: 48 (t-span = 64) S. 97 (t:3104, hp:1552, ex:1552, st:0)
Massif: 49 (t-span = 96) S. 98 (t:3136, hp:1568, ex:1568, st:0)
Massif: Finished culling ( 50 of 100 deleted)
Massif: post-cull S. 0 (t:0, hp:0, ex:0, st:0)
Massif: post-cull S. 1 (t:64, hp:32, ex:32, st:0)
Massif: post-cull S. 2 (t:128, hp:64, ex:64, st:0)
Massif: post-cull S. 3 (t:192, hp:96, ex:96, st:0)
Massif: post-cull S. 4 (t:256, hp:128, ex:128, st:0)
Massif: post-cull S. 5 (t:320, hp:160, ex:160, st:0)
Massif: post-cull S. 6 (t:384, hp:192, ex:192, st:0)
Massif: post-cull S. 7 (t:448, hp:224, ex:224, st:0)
Massif: post-cull S. 8 (t:512, hp:256, ex:256, st:0)
Massif: post-cull S. 9 (t:576, hp:288, ex:288, st:0)
Massif: post-cull S. 10 (t:640, hp:320, ex:320, st:0)
Massif: post-cull S. 11 (t:704, hp:352, ex:352, st:0)
Massif: post-cull S. 12 (t:768, hp:384, ex:384, st:0)
Massif: post-cull S. 13 (t:832, hp:416, ex:416, st:0)
Massif: post-cull S. 14 (t:896, hp:448, ex:448, st:0)
Massif: post-cull S. 15 (t:960, hp:480, ex:480, st:0)
Massif: post-cull S. 16 (t:1024, hp:512, ex:512, st:0)
Massif: post-cull S. 17 (t:1088, hp:544, ex:544, st:0)
Massif: post-cull S. 18 (t:1152, hp:576, ex:576, st:0)
Massif: post-cull S. 19 (t:1216, hp:608, ex:608, st:0)
Massif: post-cull S. 20 (t:1280, hp:640, ex:640, st:0)
Massif: post-cull S. 21 (t:1344, hp:672, ex:672, st:0)
Massif: post-cull S. 22 (t:1408, hp:704, ex:704, st:0)
Massif: post-cull S. 23 (t:1472, hp:736, ex:736, st:0)
Massif: post-cull S. 24 (t:1536, hp:768, ex:768, st:0)
Massif: post-cull S. 25 (t:1600, hp:800, ex:800, st:0)
Massif: post-cull S. 26 (t:1664, hp:832, ex:832, st:0)
Massif: post-cull S. 27 (t:1728, hp:864, ex:864, st:0)
Massif: post-cull S. 28 (t:1792, hp:896, ex:896, st:0)
Massif: post-cull S. 29 (t:1856, hp:928, ex:928, st:0)
Massif: post-cull S. 30 (t:1920, hp:960, ex:960, st:0)
Massif: post-cull S. 31 (t:1984, hp:992, ex:992, st:0)
Massif: post-cull S. 32 (t:2048, hp:1024, ex:1024, st:0)
Massif: post-cull S. 33 (t:2112, hp:1056, ex:1056, st:0)
Massif: post-cull S. 34 (t:2176, hp:1088, ex:1088, st:0)
Massif: post-cull S. 35 (t:2240, hp:1120, ex:1120, st:0)
Massif: post-cull S. 36 (t:2304, hp:1152, ex:1152, st:0)
Massif: post-cull S. 37 (t:2368, hp:1184, ex:1184, st:0)
Massif: post-cull S. 38 (t:2432, hp:1216, ex:1216, st:0)
Massif: post-cull S. 39 (t:2496, hp:1248, ex:1248, st:0)
Massif: post-cull S. 40 (t:2560, hp:1280, ex:1280, st:0)
Massif: post-cull S. 41 (t:2624, hp:1312, ex:1312, st:0)
Massif: post-cull S. 42 (t:2688, hp:1344, ex:1344, st:0)
Massif: post-cull S. 43 (t:2752, hp:1376, ex:1376, st:0)
Massif: post-cull S. 44 (t:2816, hp:1408, ex:1408, st:0)
Massif: post-cull S. 45 (t:2880, hp:1440, ex:1440, st:0)
Massif: post-cull S. 46 (t:2944, hp:1472, ex:1472, st:0)
Massif: post-cull S. 47 (t:3008, hp:1504, ex:1504, st:0)
Massif: post-cull S. 48 (t:3072, hp:1536, ex:1536, st:0)
Massif: post-cull Sd 49 (t:3168, hp:1584, ex:1584, st:0)
Massif: New time interval = 64 (between snapshots 0 and 1)
Massif: (skipped 1 snapshot)
Massif: alloc S. 50 (t:3232, hp:1616, ex:1616, st:0)
Massif: (skipped 1 snapshot)
Massif: alloc S. 51 (t:3296, hp:1648, ex:1648, st:0)
Massif: (skipped 1 snapshot)
Massif: alloc S. 52 (t:3360, hp:1680, ex:1680, st:0)
Massif: (skipped 1 snapshot)
Massif: alloc S. 53 (t:3424, hp:1712, ex:1712, st:0)
Massif: (skipped 1 snapshot)
Massif: alloc S. 54 (t:3488, hp:1744, ex:1744, st:0)
Massif: (skipped 1 snapshot)
Massif: alloc S. 55 (t:3552, hp:1776, ex:1776, st:0)
Massif: (skipped 1 snapshot)
Massif: alloc S. 56 (t:3616, hp:1808, ex:1808, st:0)
Massif: (skipped 1 snapshot)
Massif: alloc S. 57 (t:3680, hp:1840, ex:1840, st:0)
Massif: (skipped 1 snapshot)
Massif: alloc S. 58 (t:3744, hp:1872, ex:1872, st:0)
Massif: (skipped 1 snapshot)
Massif: alloc Sd 59 (t:3808, hp:1904, ex:1904, st:0)
Massif: (skipped 1 snapshot)
Massif: alloc S. 60 (t:3872, hp:1936, ex:1936, st:0)
Massif: (skipped 1 snapshot)
Massif: alloc S. 61 (t:3936, hp:1968, ex:1968, st:0)
Massif: (skipped 1 snapshot)
Massif: alloc S. 62 (t:4000, hp:2000, ex:2000, st:0)
Massif: (skipped 1 snapshot)
Massif: alloc S. 63 (t:4064, hp:2032, ex:2032, st:0)
Massif: (skipped 1 snapshot)
Massif: alloc S. 64 (t:4128, hp:2064, ex:2064, st:0)
Massif: (skipped 1 snapshot)
Massif: alloc S. 65 (t:4192, hp:2096, ex:2096, st:0)
Massif: (skipped 1 snapshot)
Massif: alloc S. 66 (t:4256, hp:2128, ex:2128, st:0)
Massif: (skipped 1 snapshot)
Massif: alloc S. 67 (t:4320, hp:2160, ex:2160, st:0)
Massif: (skipped 1 snapshot)
Massif: alloc S. 68 (t:4384, hp:2192, ex:2192, st:0)
Massif: (skipped 1 snapshot)
Massif: alloc Sd 69 (t:4448, hp:2224, ex:2224, st:0)
Massif: (skipped 1 snapshot)
Massif: alloc S. 70 (t:4512, hp:2256, ex:2256, st:0)
Massif: (skipped 1 snapshot)
Massif: alloc S. 71 (t:4576, hp:2288, ex:2288, st:0)
Massif: (skipped 1 snapshot)
Massif: alloc S. 72 (t:4640, hp:2320, ex:2320, st:0)
Massif: (skipped 1 snapshot)
Massif: alloc S. 73 (t:4704, hp:2352, ex:2352, st:0)
Massif: (skipped 1 snapshot)
Massif: alloc S. 74 (t:4768, hp:2384, ex:2384, st:0)
Massif: (skipped 1 snapshot)
Massif: alloc S. 75 (t:4832, hp:2416, ex:2416, st:0)
Massif: (skipped 1 snapshot)
Massif: alloc S. 76 (t:4896, hp:2448, ex:2448, st:0)
Massif: (skipped 1 snapshot)
Massif: alloc S. 77 (t:4960, hp:2480, ex:2480, st:0)
Massif: (skipped 1 snapshot)
Massif: alloc S. 78 (t:5024, hp:2512, ex:2512, st:0)
Massif: (skipped 1 snapshot)
Massif: alloc Sd 79 (t:5088, hp:2544, ex:2544, st:0)
Massif: (skipped 1 snapshot)
Massif: alloc S. 80 (t:5152, hp:2576, ex:2576, st:0)
Massif: (skipped 1 snapshot)
Massif: alloc S. 81 (t:5216, hp:2608, ex:2608, st:0)
Massif: (skipped 1 snapshot)
Massif: alloc S. 82 (t:5280, hp:2640, ex:2640, st:0)
Massif: (skipped 1 snapshot)
Massif: alloc S. 83 (t:5344, hp:2672, ex:2672, st:0)
Massif: (skipped 1 snapshot)
Massif: alloc S. 84 (t:5408, hp:2704, ex:2704, st:0)
Massif: (skipped 1 snapshot)
Massif: alloc S. 85 (t:5472, hp:2736, ex:2736, st:0)
Massif: (skipped 1 snapshot)
Massif: alloc S. 86 (t:5536, hp:2768, ex:2768, st:0)
Massif: (skipped 1 snapshot)
Massif: alloc S. 87 (t:5600, hp:2800, ex:2800, st:0)
Massif: (skipped 1 snapshot)
Massif: alloc S. 88 (t:5664, hp:2832, ex:2832, st:0)
Massif: (skipped 1 snapshot)
Massif: alloc Sd 89 (t:5728, hp:2864, ex:2864, st:0)
Massif: (skipped 1 snapshot)
Massif: alloc S. 90 (t:5792, hp:2896, ex:2896, st:0)
Massif: (skipped 1 snapshot)
Massif: alloc S. 91 (t:5856, hp:2928, ex:2928, st:0)
Massif: (skipped 1 snapshot)
Massif: alloc S. 92 (t:5920, hp:2960, ex:2960, st:0)
Massif: (skipped 1 snapshot)
Massif: alloc S. 93 (t:5984, hp:2992, ex:2992, st:0)
Massif: (skipped 1 snapshot)
Massif: alloc S. 94 (t:6048, hp:3024, ex:3024, st:0)
Massif: (skipped 1 snapshot)
Massif: alloc S. 95 (t:6112, hp:3056, ex:3056, st:0)
Massif: (skipped 1 snapshot)
Massif: alloc S. 96 (t:6176, hp:3088, ex:3088, st:0)
Massif: (skipped 1 snapshot)
Massif: alloc S. 97 (t:6240, hp:3120, ex:3120, st:0)
Massif: (skipped 1 snapshot)
Massif: alloc S. 98 (t:6304, hp:3152, ex:3152, st:0)
Massif: (skipped 1 snapshot)
Massif: alloc Sd 99 (t:6368, hp:3184, ex:3184, st:0)
Massif: Culling...
Massif: 0 (t-span = 128) S. 1 (t:64, hp:32, ex:32, st:0)
Massif: 1 (t-span = 128) S. 3 (t:192, hp:96, ex:96, st:0)
Massif: 2 (t-span = 128) S. 5 (t:320, hp:160, ex:160, st:0)
Massif: 3 (t-span = 128) S. 7 (t:448, hp:224, ex:224, st:0)
Massif: 4 (t-span = 128) S. 9 (t:576, hp:288, ex:288, st:0)
Massif: 5 (t-span = 128) S. 11 (t:704, hp:352, ex:352, st:0)
Massif: 6 (t-span = 128) S. 13 (t:832, hp:416, ex:416, st:0)
Massif: 7 (t-span = 128) S. 15 (t:960, hp:480, ex:480, st:0)
Massif: 8 (t-span = 128) S. 17 (t:1088, hp:544, ex:544, st:0)
Massif: 9 (t-span = 128) S. 19 (t:1216, hp:608, ex:608, st:0)
Massif: 10 (t-span = 128) S. 21 (t:1344, hp:672, ex:672, st:0)
Massif: 11 (t-span = 128) S. 23 (t:1472, hp:736, ex:736, st:0)
Massif: 12 (t-span = 128) S. 25 (t:1600, hp:800, ex:800, st:0)
Massif: 13 (t-span = 128) S. 27 (t:1728, hp:864, ex:864, st:0)
Massif: 14 (t-span = 128) S. 29 (t:1856, hp:928, ex:928, st:0)
Massif: 15 (t-span = 128) S. 31 (t:1984, hp:992, ex:992, st:0)
Massif: 16 (t-span = 128) S. 33 (t:2112, hp:1056, ex:1056, st:0)
Massif: 17 (t-span = 128) S. 35 (t:2240, hp:1120, ex:1120, st:0)
Massif: 18 (t-span = 128) S. 37 (t:2368, hp:1184, ex:1184, st:0)
Massif: 19 (t-span = 128) S. 39 (t:2496, hp:1248, ex:1248, st:0)
Massif: 20 (t-span = 128) S. 41 (t:2624, hp:1312, ex:1312, st:0)
Massif: 21 (t-span = 128) S. 43 (t:2752, hp:1376, ex:1376, st:0)
Massif: 22 (t-span = 128) S. 45 (t:2880, hp:1440, ex:1440, st:0)
Massif: 23 (t-span = 128) S. 47 (t:3008, hp:1504, ex:1504, st:0)
Massif: 24 (t-span = 128) S. 50 (t:3232, hp:1616, ex:1616, st:0)
Massif: 25 (t-span = 128) S. 52 (t:3360, hp:1680, ex:1680, st:0)
Massif: 26 (t-span = 128) S. 54 (t:3488, hp:1744, ex:1744, st:0)
Massif: 27 (t-span = 128) S. 56 (t:3616, hp:1808, ex:1808, st:0)
Massif: 28 (t-span = 128) S. 58 (t:3744, hp:1872, ex:1872, st:0)
Massif: 29 (t-span = 128) S. 60 (t:3872, hp:1936, ex:1936, st:0)
Massif: 30 (t-span = 128) S. 62 (t:4000, hp:2000, ex:2000, st:0)
Massif: 31 (t-span = 128) S. 64 (t:4128, hp:2064, ex:2064, st:0)
Massif: 32 (t-span = 128) S. 66 (t:4256, hp:2128, ex:2128, st:0)
Massif: 33 (t-span = 128) S. 68 (t:4384, hp:2192, ex:2192, st:0)
Massif: 34 (t-span = 128) S. 70 (t:4512, hp:2256, ex:2256, st:0)
Massif: 35 (t-span = 128) S. 72 (t:4640, hp:2320, ex:2320, st:0)
Massif: 36 (t-span = 128) S. 74 (t:4768, hp:2384, ex:2384, st:0)
Massif: 37 (t-span = 128) S. 76 (t:4896, hp:2448, ex:2448, st:0)
Massif: 38 (t-span = 128) S. 78 (t:5024, hp:2512, ex:2512, st:0)
Massif: 39 (t-span = 128) S. 80 (t:5152, hp:2576, ex:2576, st:0)
Massif: 40 (t-span = 128) S. 82 (t:5280, hp:2640, ex:2640, st:0)
Massif: 41 (t-span = 128) S. 84 (t:5408, hp:2704, ex:2704, st:0)
Massif: 42 (t-span = 128) S. 86 (t:5536, hp:2768, ex:2768, st:0)
Massif: 43 (t-span = 128) S. 88 (t:5664, hp:2832, ex:2832, st:0)
Massif: 44 (t-span = 128) S. 90 (t:5792, hp:2896, ex:2896, st:0)
Massif: 45 (t-span = 128) S. 92 (t:5920, hp:2960, ex:2960, st:0)
Massif: 46 (t-span = 128) S. 94 (t:6048, hp:3024, ex:3024, st:0)
Massif: 47 (t-span = 128) S. 96 (t:6176, hp:3088, ex:3088, st:0)
Massif: 48 (t-span = 128) S. 98 (t:6304, hp:3152, ex:3152, st:0)
Massif: 49 (t-span = 224) S. 48 (t:3072, hp:1536, ex:1536, st:0)
Massif: Finished culling ( 50 of 100 deleted)
Massif: post-cull S. 0 (t:0, hp:0, ex:0, st:0)
Massif: post-cull S. 1 (t:128, hp:64, ex:64, st:0)
Massif: post-cull S. 2 (t:256, hp:128, ex:128, st:0)
Massif: post-cull S. 3 (t:384, hp:192, ex:192, st:0)
Massif: post-cull S. 4 (t:512, hp:256, ex:256, st:0)
Massif: post-cull S. 5 (t:640, hp:320, ex:320, st:0)
Massif: post-cull S. 6 (t:768, hp:384, ex:384, st:0)
Massif: post-cull S. 7 (t:896, hp:448, ex:448, st:0)
Massif: post-cull S. 8 (t:1024, hp:512, ex:512, st:0)
Massif: post-cull S. 9 (t:1152, hp:576, ex:576, st:0)
Massif: post-cull S. 10 (t:1280, hp:640, ex:640, st:0)
Massif: post-cull S. 11 (t:1408, hp:704, ex:704, st:0)
Massif: post-cull S. 12 (t:1536, hp:768, ex:768, st:0)
Massif: post-cull S. 13 (t:1664, hp:832, ex:832, st:0)
Massif: post-cull S. 14 (t:1792, hp:896, ex:896, st:0)
Massif: post-cull S. 15 (t:1920, hp:960, ex:960, st:0)
Massif: post-cull S. 16 (t:2048, hp:1024, ex:1024, st:0)
Massif: post-cull S. 17 (t:2176, hp:1088, ex:1088, st:0)
Massif: post-cull S. 18 (t:2304, hp:1152, ex:1152, st:0)
Massif: post-cull S. 19 (t:2432, hp:1216, ex:1216, st:0)
Massif: post-cull S. 20 (t:2560, hp:1280, ex:1280, st:0)
Massif: post-cull S. 21 (t:2688, hp:1344, ex:1344, st:0)
Massif: post-cull S. 22 (t:2816, hp:1408, ex:1408, st:0)
Massif: post-cull S. 23 (t:2944, hp:1472, ex:1472, st:0)
Massif: post-cull Sd 24 (t:3168, hp:1584, ex:1584, st:0)
Massif: post-cull S. 25 (t:3296, hp:1648, ex:1648, st:0)
Massif: post-cull S. 26 (t:3424, hp:1712, ex:1712, st:0)
Massif: post-cull S. 27 (t:3552, hp:1776, ex:1776, st:0)
Massif: post-cull S. 28 (t:3680, hp:1840, ex:1840, st:0)
Massif: post-cull Sd 29 (t:3808, hp:1904, ex:1904, st:0)
Massif: post-cull S. 30 (t:3936, hp:1968, ex:1968, st:0)
Massif: post-cull S. 31 (t:4064, hp:2032, ex:2032, st:0)
Massif: post-cull S. 32 (t:4192, hp:2096, ex:2096, st:0)
Massif: post-cull S. 33 (t:4320, hp:2160, ex:2160, st:0)
Massif: post-cull Sd 34 (t:4448, hp:2224, ex:2224, st:0)
Massif: post-cull S. 35 (t:4576, hp:2288, ex:2288, st:0)
Massif: post-cull S. 36 (t:4704, hp:2352, ex:2352, st:0)
Massif: post-cull S. 37 (t:4832, hp:2416, ex:2416, st:0)
Massif: post-cull S. 38 (t:4960, hp:2480, ex:2480, st:0)
Massif: post-cull Sd 39 (t:5088, hp:2544, ex:2544, st:0)
Massif: post-cull S. 40 (t:5216, hp:2608, ex:2608, st:0)
Massif: post-cull S. 41 (t:5344, hp:2672, ex:2672, st:0)
Massif: post-cull S. 42 (t:5472, hp:2736, ex:2736, st:0)
Massif: post-cull S. 43 (t:5600, hp:2800, ex:2800, st:0)
Massif: post-cull Sd 44 (t:5728, hp:2864, ex:2864, st:0)
Massif: post-cull S. 45 (t:5856, hp:2928, ex:2928, st:0)
Massif: post-cull S. 46 (t:5984, hp:2992, ex:2992, st:0)
Massif: post-cull S. 47 (t:6112, hp:3056, ex:3056, st:0)
Massif: post-cull S. 48 (t:6240, hp:3120, ex:3120, st:0)
Massif: post-cull Sd 49 (t:6368, hp:3184, ex:3184, st:0)
Massif: New time interval = 128 (between snapshots 0 and 1)
Massif: heap allocs: 200
Massif: heap reallocs: 0
Massif: heap frees: 0
Massif: ignored heap allocs: ...
Massif: ignored heap frees: ...
Massif: ignored heap reallocs: ...
Massif: stack allocs: 0
Massif: stack frees: 0
Massif: XPts: ...
Massif: top-XPts: ...
Massif: XPt init expansions: ...
Massif: XPt later expansions: ...
Massif: SXPt allocs: ...
Massif: SXPt frees: ...
Massif: skipped snapshots: 51
Massif: real snapshots: 150
Massif: detailed snapshots: 15
Massif: peak snapshots: 0
Massif: cullings: 2
Massif: XCon redos: ...
@@ -0,0 +1,5 @@
prog: culling1
vgopts: -v -v --stats=yes --stacks=no --time-unit=B --heap-admin=16 --massif-out-file=massif.out
vgopts: --ignore-fn=__part_load_locale --ignore-fn=__time_load_locale --ignore-fn=dwarf2_unwind_dyld_add_image_hook --ignore-fn=get_or_create_key_element
stderr_filter: filter_verbose
cleanup: rm massif.out
@@ -0,0 +1,10 @@
#include <stdlib.h>
int main(void)
{
int i;
for (i = 0; i < 200; i++) {
malloc(400*i); // Divisible by 16 -- no slop.
}
return 0;
}
@@ -0,0 +1,551 @@
Massif: alloc-fns:
Massif: malloc
Massif: __builtin_new
Massif: operator new(unsigned)
Massif: operator new(unsigned long)
Massif: __builtin_vec_new
Massif: operator new[](unsigned)
Massif: operator new[](unsigned long)
Massif: calloc
Massif: realloc
Massif: memalign
Massif: posix_memalign
Massif: valloc
Massif: operator new(unsigned, std::nothrow_t const&)
Massif: operator new[](unsigned, std::nothrow_t const&)
Massif: operator new(unsigned long, std::nothrow_t const&)
Massif: operator new[](unsigned long, std::nothrow_t const&)
Massif: ignore-fns:
Massif: 0: __part_load_locale
Massif: 1: __time_load_locale
Massif: 2: dwarf2_unwind_dyld_add_image_hook
Massif: 3: get_or_create_key_element
Massif: startup S. 0 (t:0, hp:0, ex:0, st:0)
Massif: alloc S. 1 (t:16, hp:0, ex:16, st:0)
Massif: alloc S. 2 (t:432, hp:400, ex:32, st:0)
Massif: alloc S. 3 (t:1248, hp:1200, ex:48, st:0)
Massif: alloc S. 4 (t:2464, hp:2400, ex:64, st:0)
Massif: alloc S. 5 (t:4080, hp:4000, ex:80, st:0)
Massif: alloc S. 6 (t:6096, hp:6000, ex:96, st:0)
Massif: alloc S. 7 (t:8512, hp:8400, ex:112, st:0)
Massif: alloc S. 8 (t:11328, hp:11200, ex:128, st:0)
Massif: alloc Sd 9 (t:14544, hp:14400, ex:144, st:0)
Massif: alloc S. 10 (t:18160, hp:18000, ex:160, st:0)
Massif: alloc S. 11 (t:22176, hp:22000, ex:176, st:0)
Massif: alloc S. 12 (t:26592, hp:26400, ex:192, st:0)
Massif: alloc S. 13 (t:31408, hp:31200, ex:208, st:0)
Massif: alloc S. 14 (t:36624, hp:36400, ex:224, st:0)
Massif: alloc S. 15 (t:42240, hp:42000, ex:240, st:0)
Massif: alloc S. 16 (t:48256, hp:48000, ex:256, st:0)
Massif: alloc S. 17 (t:54672, hp:54400, ex:272, st:0)
Massif: alloc S. 18 (t:61488, hp:61200, ex:288, st:0)
Massif: alloc Sd 19 (t:68704, hp:68400, ex:304, st:0)
Massif: alloc S. 20 (t:76320, hp:76000, ex:320, st:0)
Massif: alloc S. 21 (t:84336, hp:84000, ex:336, st:0)
Massif: alloc S. 22 (t:92752, hp:92400, ex:352, st:0)
Massif: alloc S. 23 (t:101568, hp:101200, ex:368, st:0)
Massif: alloc S. 24 (t:110784, hp:110400, ex:384, st:0)
Massif: alloc S. 25 (t:120400, hp:120000, ex:400, st:0)
Massif: alloc S. 26 (t:130416, hp:130000, ex:416, st:0)
Massif: alloc S. 27 (t:140832, hp:140400, ex:432, st:0)
Massif: alloc S. 28 (t:151648, hp:151200, ex:448, st:0)
Massif: alloc Sd 29 (t:162864, hp:162400, ex:464, st:0)
Massif: alloc S. 30 (t:174480, hp:174000, ex:480, st:0)
Massif: alloc S. 31 (t:186496, hp:186000, ex:496, st:0)
Massif: alloc S. 32 (t:198912, hp:198400, ex:512, st:0)
Massif: alloc S. 33 (t:211728, hp:211200, ex:528, st:0)
Massif: alloc S. 34 (t:224944, hp:224400, ex:544, st:0)
Massif: alloc S. 35 (t:238560, hp:238000, ex:560, st:0)
Massif: alloc S. 36 (t:252576, hp:252000, ex:576, st:0)
Massif: alloc S. 37 (t:266992, hp:266400, ex:592, st:0)
Massif: alloc S. 38 (t:281808, hp:281200, ex:608, st:0)
Massif: alloc Sd 39 (t:297024, hp:296400, ex:624, st:0)
Massif: alloc S. 40 (t:312640, hp:312000, ex:640, st:0)
Massif: alloc S. 41 (t:328656, hp:328000, ex:656, st:0)
Massif: alloc S. 42 (t:345072, hp:344400, ex:672, st:0)
Massif: alloc S. 43 (t:361888, hp:361200, ex:688, st:0)
Massif: alloc S. 44 (t:379104, hp:378400, ex:704, st:0)
Massif: alloc S. 45 (t:396720, hp:396000, ex:720, st:0)
Massif: alloc S. 46 (t:414736, hp:414000, ex:736, st:0)
Massif: alloc S. 47 (t:433152, hp:432400, ex:752, st:0)
Massif: alloc S. 48 (t:451968, hp:451200, ex:768, st:0)
Massif: alloc Sd 49 (t:471184, hp:470400, ex:784, st:0)
Massif: alloc S. 50 (t:490800, hp:490000, ex:800, st:0)
Massif: alloc S. 51 (t:510816, hp:510000, ex:816, st:0)
Massif: alloc S. 52 (t:531232, hp:530400, ex:832, st:0)
Massif: alloc S. 53 (t:552048, hp:551200, ex:848, st:0)
Massif: alloc S. 54 (t:573264, hp:572400, ex:864, st:0)
Massif: alloc S. 55 (t:594880, hp:594000, ex:880, st:0)
Massif: alloc S. 56 (t:616896, hp:616000, ex:896, st:0)
Massif: alloc S. 57 (t:639312, hp:638400, ex:912, st:0)
Massif: alloc S. 58 (t:662128, hp:661200, ex:928, st:0)
Massif: alloc Sd 59 (t:685344, hp:684400, ex:944, st:0)
Massif: alloc S. 60 (t:708960, hp:708000, ex:960, st:0)
Massif: alloc S. 61 (t:732976, hp:732000, ex:976, st:0)
Massif: alloc S. 62 (t:757392, hp:756400, ex:992, st:0)
Massif: alloc S. 63 (t:782208, hp:781200, ex:1008, st:0)
Massif: alloc S. 64 (t:807424, hp:806400, ex:1024, st:0)
Massif: alloc S. 65 (t:833040, hp:832000, ex:1040, st:0)
Massif: alloc S. 66 (t:859056, hp:858000, ex:1056, st:0)
Massif: alloc S. 67 (t:885472, hp:884400, ex:1072, st:0)
Massif: alloc S. 68 (t:912288, hp:911200, ex:1088, st:0)
Massif: alloc Sd 69 (t:939504, hp:938400, ex:1104, st:0)
Massif: alloc S. 70 (t:967120, hp:966000, ex:1120, st:0)
Massif: alloc S. 71 (t:995136, hp:994000, ex:1136, st:0)
Massif: alloc S. 72 (t:1023552, hp:1022400, ex:1152, st:0)
Massif: alloc S. 73 (t:1052368, hp:1051200, ex:1168, st:0)
Massif: alloc S. 74 (t:1081584, hp:1080400, ex:1184, st:0)
Massif: alloc S. 75 (t:1111200, hp:1110000, ex:1200, st:0)
Massif: alloc S. 76 (t:1141216, hp:1140000, ex:1216, st:0)
Massif: alloc S. 77 (t:1171632, hp:1170400, ex:1232, st:0)
Massif: alloc S. 78 (t:1202448, hp:1201200, ex:1248, st:0)
Massif: alloc Sd 79 (t:1233664, hp:1232400, ex:1264, st:0)
Massif: alloc S. 80 (t:1265280, hp:1264000, ex:1280, st:0)
Massif: alloc S. 81 (t:1297296, hp:1296000, ex:1296, st:0)
Massif: alloc S. 82 (t:1329712, hp:1328400, ex:1312, st:0)
Massif: alloc S. 83 (t:1362528, hp:1361200, ex:1328, st:0)
Massif: alloc S. 84 (t:1395744, hp:1394400, ex:1344, st:0)
Massif: alloc S. 85 (t:1429360, hp:1428000, ex:1360, st:0)
Massif: alloc S. 86 (t:1463376, hp:1462000, ex:1376, st:0)
Massif: alloc S. 87 (t:1497792, hp:1496400, ex:1392, st:0)
Massif: alloc S. 88 (t:1532608, hp:1531200, ex:1408, st:0)
Massif: alloc Sd 89 (t:1567824, hp:1566400, ex:1424, st:0)
Massif: alloc S. 90 (t:1603440, hp:1602000, ex:1440, st:0)
Massif: alloc S. 91 (t:1639456, hp:1638000, ex:1456, st:0)
Massif: alloc S. 92 (t:1675872, hp:1674400, ex:1472, st:0)
Massif: alloc S. 93 (t:1712688, hp:1711200, ex:1488, st:0)
Massif: alloc S. 94 (t:1749904, hp:1748400, ex:1504, st:0)
Massif: alloc S. 95 (t:1787520, hp:1786000, ex:1520, st:0)
Massif: alloc S. 96 (t:1825536, hp:1824000, ex:1536, st:0)
Massif: alloc S. 97 (t:1863952, hp:1862400, ex:1552, st:0)
Massif: alloc S. 98 (t:1902768, hp:1901200, ex:1568, st:0)
Massif: alloc Sd 99 (t:1941984, hp:1940400, ex:1584, st:0)
Massif: Culling...
Massif: 0 (t-span = 432) S. 1 (t:16, hp:0, ex:16, st:0)
Massif: 1 (t-span = 1248) S. 2 (t:432, hp:400, ex:32, st:0)
Massif: 2 (t-span = 2464) S. 3 (t:1248, hp:1200, ex:48, st:0)
Massif: 3 (t-span = 3632) S. 5 (t:4080, hp:4000, ex:80, st:0)
Massif: 4 (t-span = 5232) S. 7 (t:8512, hp:8400, ex:112, st:0)
Massif: 5 (t-span = 6096) S. 4 (t:2464, hp:2400, ex:64, st:0)
Massif: 6 (t-span = 6832) Sd 9 (t:14544, hp:14400, ex:144, st:0)
Massif: 7 (t-span = 8432) S. 11 (t:22176, hp:22000, ex:176, st:0)
Massif: 8 (t-span = 10032) S. 13 (t:31408, hp:31200, ex:208, st:0)
Massif: 9 (t-span = 11328) S. 6 (t:6096, hp:6000, ex:96, st:0)
Massif: 10 (t-span = 11632) S. 15 (t:42240, hp:42000, ex:240, st:0)
Massif: 11 (t-span = 13232) S. 17 (t:54672, hp:54400, ex:272, st:0)
Massif: 12 (t-span = 14832) Sd 19 (t:68704, hp:68400, ex:304, st:0)
Massif: 13 (t-span = 15264) S. 10 (t:18160, hp:18000, ex:160, st:0)
Massif: 14 (t-span = 16432) S. 21 (t:84336, hp:84000, ex:336, st:0)
Massif: 15 (t-span = 18032) S. 23 (t:101568, hp:101200, ex:368, st:0)
Massif: 16 (t-span = 19632) S. 25 (t:120400, hp:120000, ex:400, st:0)
Massif: 17 (t-span = 21232) S. 27 (t:140832, hp:140400, ex:432, st:0)
Massif: 18 (t-span = 21664) S. 14 (t:36624, hp:36400, ex:224, st:0)
Massif: 19 (t-span = 22832) Sd 29 (t:162864, hp:162400, ex:464, st:0)
Massif: 20 (t-span = 24432) S. 31 (t:186496, hp:186000, ex:496, st:0)
Massif: 21 (t-span = 26032) S. 33 (t:211728, hp:211200, ex:528, st:0)
Massif: 22 (t-span = 26592) S. 8 (t:11328, hp:11200, ex:128, st:0)
Massif: 23 (t-span = 27632) S. 35 (t:238560, hp:238000, ex:560, st:0)
Massif: 24 (t-span = 28064) S. 18 (t:61488, hp:61200, ex:288, st:0)
Massif: 25 (t-span = 29232) S. 37 (t:266992, hp:266400, ex:592, st:0)
Massif: 26 (t-span = 30832) Sd 39 (t:297024, hp:296400, ex:624, st:0)
Massif: 27 (t-span = 32432) S. 41 (t:328656, hp:328000, ex:656, st:0)
Massif: 28 (t-span = 34032) S. 43 (t:361888, hp:361200, ex:688, st:0)
Massif: 29 (t-span = 34464) S. 22 (t:92752, hp:92400, ex:352, st:0)
Massif: 30 (t-span = 35632) S. 45 (t:396720, hp:396000, ex:720, st:0)
Massif: 31 (t-span = 37232) S. 47 (t:433152, hp:432400, ex:752, st:0)
Massif: 32 (t-span = 38832) Sd 49 (t:471184, hp:470400, ex:784, st:0)
Massif: 33 (t-span = 40432) S. 51 (t:510816, hp:510000, ex:816, st:0)
Massif: 34 (t-span = 40864) S. 26 (t:130416, hp:130000, ex:416, st:0)
Massif: 35 (t-span = 42032) S. 53 (t:552048, hp:551200, ex:848, st:0)
Massif: 36 (t-span = 43632) S. 55 (t:594880, hp:594000, ex:880, st:0)
Massif: 37 (t-span = 45232) S. 57 (t:639312, hp:638400, ex:912, st:0)
Massif: 38 (t-span = 46832) Sd 59 (t:685344, hp:684400, ex:944, st:0)
Massif: 39 (t-span = 47264) S. 30 (t:174480, hp:174000, ex:480, st:0)
Massif: 40 (t-span = 48256) S. 12 (t:26592, hp:26400, ex:192, st:0)
Massif: 41 (t-span = 48432) S. 61 (t:732976, hp:732000, ex:976, st:0)
Massif: 42 (t-span = 50032) S. 63 (t:782208, hp:781200, ex:1008, st:0)
Massif: 43 (t-span = 51632) S. 65 (t:833040, hp:832000, ex:1040, st:0)
Massif: 44 (t-span = 53232) S. 67 (t:885472, hp:884400, ex:1072, st:0)
Massif: 45 (t-span = 53664) S. 34 (t:224944, hp:224400, ex:544, st:0)
Massif: 46 (t-span = 54832) Sd 69 (t:939504, hp:938400, ex:1104, st:0)
Massif: 47 (t-span = 56432) S. 71 (t:995136, hp:994000, ex:1136, st:0)
Massif: 48 (t-span = 58032) S. 73 (t:1052368, hp:1051200, ex:1168, st:0)
Massif: 49 (t-span = 59632) S. 75 (t:1111200, hp:1110000, ex:1200, st:0)
Massif: Finished culling ( 50 of 100 deleted)
Massif: post-cull S. 0 (t:0, hp:0, ex:0, st:0)
Massif: post-cull S. 1 (t:48256, hp:48000, ex:256, st:0)
Massif: post-cull S. 2 (t:76320, hp:76000, ex:320, st:0)
Massif: post-cull S. 3 (t:110784, hp:110400, ex:384, st:0)
Massif: post-cull S. 4 (t:151648, hp:151200, ex:448, st:0)
Massif: post-cull S. 5 (t:198912, hp:198400, ex:512, st:0)
Massif: post-cull S. 6 (t:252576, hp:252000, ex:576, st:0)
Massif: post-cull S. 7 (t:281808, hp:281200, ex:608, st:0)
Massif: post-cull S. 8 (t:312640, hp:312000, ex:640, st:0)
Massif: post-cull S. 9 (t:345072, hp:344400, ex:672, st:0)
Massif: post-cull S. 10 (t:379104, hp:378400, ex:704, st:0)
Massif: post-cull S. 11 (t:414736, hp:414000, ex:736, st:0)
Massif: post-cull S. 12 (t:451968, hp:451200, ex:768, st:0)
Massif: post-cull S. 13 (t:490800, hp:490000, ex:800, st:0)
Massif: post-cull S. 14 (t:531232, hp:530400, ex:832, st:0)
Massif: post-cull S. 15 (t:573264, hp:572400, ex:864, st:0)
Massif: post-cull S. 16 (t:616896, hp:616000, ex:896, st:0)
Massif: post-cull S. 17 (t:662128, hp:661200, ex:928, st:0)
Massif: post-cull S. 18 (t:708960, hp:708000, ex:960, st:0)
Massif: post-cull S. 19 (t:757392, hp:756400, ex:992, st:0)
Massif: post-cull S. 20 (t:807424, hp:806400, ex:1024, st:0)
Massif: post-cull S. 21 (t:859056, hp:858000, ex:1056, st:0)
Massif: post-cull S. 22 (t:912288, hp:911200, ex:1088, st:0)
Massif: post-cull S. 23 (t:967120, hp:966000, ex:1120, st:0)
Massif: post-cull S. 24 (t:1023552, hp:1022400, ex:1152, st:0)
Massif: post-cull S. 25 (t:1081584, hp:1080400, ex:1184, st:0)
Massif: post-cull S. 26 (t:1141216, hp:1140000, ex:1216, st:0)
Massif: post-cull S. 27 (t:1171632, hp:1170400, ex:1232, st:0)
Massif: post-cull S. 28 (t:1202448, hp:1201200, ex:1248, st:0)
Massif: post-cull Sd 29 (t:1233664, hp:1232400, ex:1264, st:0)
Massif: post-cull S. 30 (t:1265280, hp:1264000, ex:1280, st:0)
Massif: post-cull S. 31 (t:1297296, hp:1296000, ex:1296, st:0)
Massif: post-cull S. 32 (t:1329712, hp:1328400, ex:1312, st:0)
Massif: post-cull S. 33 (t:1362528, hp:1361200, ex:1328, st:0)
Massif: post-cull S. 34 (t:1395744, hp:1394400, ex:1344, st:0)
Massif: post-cull S. 35 (t:1429360, hp:1428000, ex:1360, st:0)
Massif: post-cull S. 36 (t:1463376, hp:1462000, ex:1376, st:0)
Massif: post-cull S. 37 (t:1497792, hp:1496400, ex:1392, st:0)
Massif: post-cull S. 38 (t:1532608, hp:1531200, ex:1408, st:0)
Massif: post-cull Sd 39 (t:1567824, hp:1566400, ex:1424, st:0)
Massif: post-cull S. 40 (t:1603440, hp:1602000, ex:1440, st:0)
Massif: post-cull S. 41 (t:1639456, hp:1638000, ex:1456, st:0)
Massif: post-cull S. 42 (t:1675872, hp:1674400, ex:1472, st:0)
Massif: post-cull S. 43 (t:1712688, hp:1711200, ex:1488, st:0)
Massif: post-cull S. 44 (t:1749904, hp:1748400, ex:1504, st:0)
Massif: post-cull S. 45 (t:1787520, hp:1786000, ex:1520, st:0)
Massif: post-cull S. 46 (t:1825536, hp:1824000, ex:1536, st:0)
Massif: post-cull S. 47 (t:1863952, hp:1862400, ex:1552, st:0)
Massif: post-cull S. 48 (t:1902768, hp:1901200, ex:1568, st:0)
Massif: post-cull Sd 49 (t:1941984, hp:1940400, ex:1584, st:0)
Massif: New time interval = 28064 (between snapshots 1 and 2)
Massif: alloc S. 50 (t:1981600, hp:1980000, ex:1600, st:0)
Massif: alloc S. 51 (t:2021616, hp:2020000, ex:1616, st:0)
Massif: alloc S. 52 (t:2062032, hp:2060400, ex:1632, st:0)
Massif: alloc S. 53 (t:2102848, hp:2101200, ex:1648, st:0)
Massif: alloc S. 54 (t:2144064, hp:2142400, ex:1664, st:0)
Massif: alloc S. 55 (t:2185680, hp:2184000, ex:1680, st:0)
Massif: alloc S. 56 (t:2227696, hp:2226000, ex:1696, st:0)
Massif: alloc S. 57 (t:2270112, hp:2268400, ex:1712, st:0)
Massif: alloc S. 58 (t:2312928, hp:2311200, ex:1728, st:0)
Massif: alloc Sd 59 (t:2356144, hp:2354400, ex:1744, st:0)
Massif: alloc S. 60 (t:2399760, hp:2398000, ex:1760, st:0)
Massif: alloc S. 61 (t:2443776, hp:2442000, ex:1776, st:0)
Massif: alloc S. 62 (t:2488192, hp:2486400, ex:1792, st:0)
Massif: alloc S. 63 (t:2533008, hp:2531200, ex:1808, st:0)
Massif: alloc S. 64 (t:2578224, hp:2576400, ex:1824, st:0)
Massif: alloc S. 65 (t:2623840, hp:2622000, ex:1840, st:0)
Massif: alloc S. 66 (t:2669856, hp:2668000, ex:1856, st:0)
Massif: alloc S. 67 (t:2716272, hp:2714400, ex:1872, st:0)
Massif: alloc S. 68 (t:2763088, hp:2761200, ex:1888, st:0)
Massif: alloc Sd 69 (t:2810304, hp:2808400, ex:1904, st:0)
Massif: alloc S. 70 (t:2857920, hp:2856000, ex:1920, st:0)
Massif: alloc S. 71 (t:2905936, hp:2904000, ex:1936, st:0)
Massif: alloc S. 72 (t:2954352, hp:2952400, ex:1952, st:0)
Massif: alloc S. 73 (t:3003168, hp:3001200, ex:1968, st:0)
Massif: alloc S. 74 (t:3052384, hp:3050400, ex:1984, st:0)
Massif: alloc S. 75 (t:3102000, hp:3100000, ex:2000, st:0)
Massif: alloc S. 76 (t:3152016, hp:3150000, ex:2016, st:0)
Massif: alloc S. 77 (t:3202432, hp:3200400, ex:2032, st:0)
Massif: alloc S. 78 (t:3253248, hp:3251200, ex:2048, st:0)
Massif: alloc Sd 79 (t:3304464, hp:3302400, ex:2064, st:0)
Massif: alloc S. 80 (t:3356080, hp:3354000, ex:2080, st:0)
Massif: alloc S. 81 (t:3408096, hp:3406000, ex:2096, st:0)
Massif: alloc S. 82 (t:3460512, hp:3458400, ex:2112, st:0)
Massif: alloc S. 83 (t:3513328, hp:3511200, ex:2128, st:0)
Massif: alloc S. 84 (t:3566544, hp:3564400, ex:2144, st:0)
Massif: alloc S. 85 (t:3620160, hp:3618000, ex:2160, st:0)
Massif: alloc S. 86 (t:3674176, hp:3672000, ex:2176, st:0)
Massif: alloc S. 87 (t:3728592, hp:3726400, ex:2192, st:0)
Massif: alloc S. 88 (t:3783408, hp:3781200, ex:2208, st:0)
Massif: alloc Sd 89 (t:3838624, hp:3836400, ex:2224, st:0)
Massif: alloc S. 90 (t:3894240, hp:3892000, ex:2240, st:0)
Massif: alloc S. 91 (t:3950256, hp:3948000, ex:2256, st:0)
Massif: alloc S. 92 (t:4006672, hp:4004400, ex:2272, st:0)
Massif: alloc S. 93 (t:4063488, hp:4061200, ex:2288, st:0)
Massif: alloc S. 94 (t:4120704, hp:4118400, ex:2304, st:0)
Massif: alloc S. 95 (t:4178320, hp:4176000, ex:2320, st:0)
Massif: alloc S. 96 (t:4236336, hp:4234000, ex:2336, st:0)
Massif: alloc S. 97 (t:4294752, hp:4292400, ex:2352, st:0)
Massif: alloc S. 98 (t:4353568, hp:4351200, ex:2368, st:0)
Massif: alloc Sd 99 (t:4412784, hp:4410400, ex:2384, st:0)
Massif: Culling...
Massif: 0 (t-span = 60064) S. 7 (t:281808, hp:281200, ex:608, st:0)
Massif: 1 (t-span = 61232) S. 27 (t:1171632, hp:1170400, ex:1232, st:0)
Massif: 2 (t-span = 62528) S. 2 (t:76320, hp:76000, ex:320, st:0)
Massif: 3 (t-span = 62832) Sd 29 (t:1233664, hp:1232400, ex:1264, st:0)
Massif: 4 (t-span = 64432) S. 31 (t:1297296, hp:1296000, ex:1296, st:0)
Massif: 5 (t-span = 66032) S. 33 (t:1362528, hp:1361200, ex:1328, st:0)
Massif: 6 (t-span = 66464) S. 9 (t:345072, hp:344400, ex:672, st:0)
Massif: 7 (t-span = 67632) S. 35 (t:1429360, hp:1428000, ex:1360, st:0)
Massif: 8 (t-span = 69232) S. 37 (t:1497792, hp:1496400, ex:1392, st:0)
Massif: 9 (t-span = 70832) Sd 39 (t:1567824, hp:1566400, ex:1424, st:0)
Massif: 10 (t-span = 72432) S. 41 (t:1639456, hp:1638000, ex:1456, st:0)
Massif: 11 (t-span = 72864) S. 11 (t:414736, hp:414000, ex:736, st:0)
Massif: 12 (t-span = 74032) S. 43 (t:1712688, hp:1711200, ex:1488, st:0)
Massif: 13 (t-span = 75632) S. 45 (t:1787520, hp:1786000, ex:1520, st:0)
Massif: 14 (t-span = 77232) S. 47 (t:1863952, hp:1862400, ex:1552, st:0)
Massif: 15 (t-span = 78832) Sd 49 (t:1941984, hp:1940400, ex:1584, st:0)
Massif: 16 (t-span = 79264) S. 13 (t:490800, hp:490000, ex:800, st:0)
Massif: 17 (t-span = 80432) S. 51 (t:2021616, hp:2020000, ex:1616, st:0)
Massif: 18 (t-span = 82032) S. 53 (t:2102848, hp:2101200, ex:1648, st:0)
Massif: 19 (t-span = 83632) S. 55 (t:2185680, hp:2184000, ex:1680, st:0)
Massif: 20 (t-span = 85232) S. 57 (t:2270112, hp:2268400, ex:1712, st:0)
Massif: 21 (t-span = 85664) S. 15 (t:573264, hp:572400, ex:864, st:0)
Massif: 22 (t-span = 86832) Sd 59 (t:2356144, hp:2354400, ex:1744, st:0)
Massif: 23 (t-span = 88128) S. 4 (t:151648, hp:151200, ex:448, st:0)
Massif: 24 (t-span = 88432) S. 61 (t:2443776, hp:2442000, ex:1776, st:0)
Massif: 25 (t-span = 90032) S. 63 (t:2533008, hp:2531200, ex:1808, st:0)
Massif: 26 (t-span = 91632) S. 65 (t:2623840, hp:2622000, ex:1840, st:0)
Massif: 27 (t-span = 92064) S. 17 (t:662128, hp:661200, ex:928, st:0)
Massif: 28 (t-span = 93232) S. 67 (t:2716272, hp:2714400, ex:1872, st:0)
Massif: 29 (t-span = 94832) Sd 69 (t:2810304, hp:2808400, ex:1904, st:0)
Massif: 30 (t-span = 96432) S. 71 (t:2905936, hp:2904000, ex:1936, st:0)
Massif: 31 (t-span = 98032) S. 73 (t:3003168, hp:3001200, ex:1968, st:0)
Massif: 32 (t-span = 98464) S. 19 (t:757392, hp:756400, ex:992, st:0)
Massif: 33 (t-span = 99632) S. 75 (t:3102000, hp:3100000, ex:2000, st:0)
Massif: 34 (t-span = 101232) S. 77 (t:3202432, hp:3200400, ex:2032, st:0)
Massif: 35 (t-span = 102832) Sd 79 (t:3304464, hp:3302400, ex:2064, st:0)
Massif: 36 (t-span = 104432) S. 81 (t:3408096, hp:3406000, ex:2096, st:0)
Massif: 37 (t-span = 104864) S. 21 (t:859056, hp:858000, ex:1056, st:0)
Massif: 38 (t-span = 106032) S. 83 (t:3513328, hp:3511200, ex:2128, st:0)
Massif: 39 (t-span = 107632) S. 85 (t:3620160, hp:3618000, ex:2160, st:0)
Massif: 40 (t-span = 109232) S. 87 (t:3728592, hp:3726400, ex:2192, st:0)
Massif: 41 (t-span = 110784) S. 1 (t:48256, hp:48000, ex:256, st:0)
Massif: 42 (t-span = 110832) Sd 89 (t:3838624, hp:3836400, ex:2224, st:0)
Massif: 43 (t-span = 111264) S. 23 (t:967120, hp:966000, ex:1120, st:0)
Massif: 44 (t-span = 112432) S. 91 (t:3950256, hp:3948000, ex:2256, st:0)
Massif: 45 (t-span = 113728) S. 6 (t:252576, hp:252000, ex:576, st:0)
Massif: 46 (t-span = 114032) S. 93 (t:4063488, hp:4061200, ex:2288, st:0)
Massif: 47 (t-span = 115632) S. 95 (t:4178320, hp:4176000, ex:2320, st:0)
Massif: 48 (t-span = 117232) S. 97 (t:4294752, hp:4292400, ex:2352, st:0)
Massif: 49 (t-span = 117664) S. 25 (t:1081584, hp:1080400, ex:1184, st:0)
Massif: Finished culling ( 50 of 100 deleted)
Massif: post-cull S. 0 (t:0, hp:0, ex:0, st:0)
Massif: post-cull S. 1 (t:110784, hp:110400, ex:384, st:0)
Massif: post-cull S. 2 (t:198912, hp:198400, ex:512, st:0)
Massif: post-cull S. 3 (t:312640, hp:312000, ex:640, st:0)
Massif: post-cull S. 4 (t:379104, hp:378400, ex:704, st:0)
Massif: post-cull S. 5 (t:451968, hp:451200, ex:768, st:0)
Massif: post-cull S. 6 (t:531232, hp:530400, ex:832, st:0)
Massif: post-cull S. 7 (t:616896, hp:616000, ex:896, st:0)
Massif: post-cull S. 8 (t:708960, hp:708000, ex:960, st:0)
Massif: post-cull S. 9 (t:807424, hp:806400, ex:1024, st:0)
Massif: post-cull S. 10 (t:912288, hp:911200, ex:1088, st:0)
Massif: post-cull S. 11 (t:1023552, hp:1022400, ex:1152, st:0)
Massif: post-cull S. 12 (t:1141216, hp:1140000, ex:1216, st:0)
Massif: post-cull S. 13 (t:1202448, hp:1201200, ex:1248, st:0)
Massif: post-cull S. 14 (t:1265280, hp:1264000, ex:1280, st:0)
Massif: post-cull S. 15 (t:1329712, hp:1328400, ex:1312, st:0)
Massif: post-cull S. 16 (t:1395744, hp:1394400, ex:1344, st:0)
Massif: post-cull S. 17 (t:1463376, hp:1462000, ex:1376, st:0)
Massif: post-cull S. 18 (t:1532608, hp:1531200, ex:1408, st:0)
Massif: post-cull S. 19 (t:1603440, hp:1602000, ex:1440, st:0)
Massif: post-cull S. 20 (t:1675872, hp:1674400, ex:1472, st:0)
Massif: post-cull S. 21 (t:1749904, hp:1748400, ex:1504, st:0)
Massif: post-cull S. 22 (t:1825536, hp:1824000, ex:1536, st:0)
Massif: post-cull S. 23 (t:1902768, hp:1901200, ex:1568, st:0)
Massif: post-cull S. 24 (t:1981600, hp:1980000, ex:1600, st:0)
Massif: post-cull S. 25 (t:2062032, hp:2060400, ex:1632, st:0)
Massif: post-cull S. 26 (t:2144064, hp:2142400, ex:1664, st:0)
Massif: post-cull S. 27 (t:2227696, hp:2226000, ex:1696, st:0)
Massif: post-cull S. 28 (t:2312928, hp:2311200, ex:1728, st:0)
Massif: post-cull S. 29 (t:2399760, hp:2398000, ex:1760, st:0)
Massif: post-cull S. 30 (t:2488192, hp:2486400, ex:1792, st:0)
Massif: post-cull S. 31 (t:2578224, hp:2576400, ex:1824, st:0)
Massif: post-cull S. 32 (t:2669856, hp:2668000, ex:1856, st:0)
Massif: post-cull S. 33 (t:2763088, hp:2761200, ex:1888, st:0)
Massif: post-cull S. 34 (t:2857920, hp:2856000, ex:1920, st:0)
Massif: post-cull S. 35 (t:2954352, hp:2952400, ex:1952, st:0)
Massif: post-cull S. 36 (t:3052384, hp:3050400, ex:1984, st:0)
Massif: post-cull S. 37 (t:3152016, hp:3150000, ex:2016, st:0)
Massif: post-cull S. 38 (t:3253248, hp:3251200, ex:2048, st:0)
Massif: post-cull S. 39 (t:3356080, hp:3354000, ex:2080, st:0)
Massif: post-cull S. 40 (t:3460512, hp:3458400, ex:2112, st:0)
Massif: post-cull S. 41 (t:3566544, hp:3564400, ex:2144, st:0)
Massif: post-cull S. 42 (t:3674176, hp:3672000, ex:2176, st:0)
Massif: post-cull S. 43 (t:3783408, hp:3781200, ex:2208, st:0)
Massif: post-cull S. 44 (t:3894240, hp:3892000, ex:2240, st:0)
Massif: post-cull S. 45 (t:4006672, hp:4004400, ex:2272, st:0)
Massif: post-cull S. 46 (t:4120704, hp:4118400, ex:2304, st:0)
Massif: post-cull S. 47 (t:4236336, hp:4234000, ex:2336, st:0)
Massif: post-cull S. 48 (t:4353568, hp:4351200, ex:2368, st:0)
Massif: post-cull Sd 49 (t:4412784, hp:4410400, ex:2384, st:0)
Massif: New time interval = 59216 (between snapshots 48 and 49)
Massif: alloc S. 50 (t:4472400, hp:4470000, ex:2400, st:0)
Massif: alloc S. 51 (t:4532416, hp:4530000, ex:2416, st:0)
Massif: alloc S. 52 (t:4592832, hp:4590400, ex:2432, st:0)
Massif: alloc S. 53 (t:4653648, hp:4651200, ex:2448, st:0)
Massif: alloc S. 54 (t:4714864, hp:4712400, ex:2464, st:0)
Massif: alloc S. 55 (t:4776480, hp:4774000, ex:2480, st:0)
Massif: alloc S. 56 (t:4838496, hp:4836000, ex:2496, st:0)
Massif: alloc S. 57 (t:4900912, hp:4898400, ex:2512, st:0)
Massif: alloc S. 58 (t:4963728, hp:4961200, ex:2528, st:0)
Massif: alloc Sd 59 (t:5026944, hp:5024400, ex:2544, st:0)
Massif: alloc S. 60 (t:5090560, hp:5088000, ex:2560, st:0)
Massif: alloc S. 61 (t:5154576, hp:5152000, ex:2576, st:0)
Massif: alloc S. 62 (t:5218992, hp:5216400, ex:2592, st:0)
Massif: alloc S. 63 (t:5283808, hp:5281200, ex:2608, st:0)
Massif: alloc S. 64 (t:5349024, hp:5346400, ex:2624, st:0)
Massif: alloc S. 65 (t:5414640, hp:5412000, ex:2640, st:0)
Massif: alloc S. 66 (t:5480656, hp:5478000, ex:2656, st:0)
Massif: alloc S. 67 (t:5547072, hp:5544400, ex:2672, st:0)
Massif: alloc S. 68 (t:5613888, hp:5611200, ex:2688, st:0)
Massif: alloc Sd 69 (t:5681104, hp:5678400, ex:2704, st:0)
Massif: alloc S. 70 (t:5748720, hp:5746000, ex:2720, st:0)
Massif: alloc S. 71 (t:5816736, hp:5814000, ex:2736, st:0)
Massif: alloc S. 72 (t:5885152, hp:5882400, ex:2752, st:0)
Massif: alloc S. 73 (t:5953968, hp:5951200, ex:2768, st:0)
Massif: alloc S. 74 (t:6023184, hp:6020400, ex:2784, st:0)
Massif: alloc S. 75 (t:6092800, hp:6090000, ex:2800, st:0)
Massif: alloc S. 76 (t:6162816, hp:6160000, ex:2816, st:0)
Massif: alloc S. 77 (t:6233232, hp:6230400, ex:2832, st:0)
Massif: alloc S. 78 (t:6304048, hp:6301200, ex:2848, st:0)
Massif: alloc Sd 79 (t:6375264, hp:6372400, ex:2864, st:0)
Massif: alloc S. 80 (t:6446880, hp:6444000, ex:2880, st:0)
Massif: alloc S. 81 (t:6518896, hp:6516000, ex:2896, st:0)
Massif: alloc S. 82 (t:6591312, hp:6588400, ex:2912, st:0)
Massif: alloc S. 83 (t:6664128, hp:6661200, ex:2928, st:0)
Massif: alloc S. 84 (t:6737344, hp:6734400, ex:2944, st:0)
Massif: alloc S. 85 (t:6810960, hp:6808000, ex:2960, st:0)
Massif: alloc S. 86 (t:6884976, hp:6882000, ex:2976, st:0)
Massif: alloc S. 87 (t:6959392, hp:6956400, ex:2992, st:0)
Massif: alloc S. 88 (t:7034208, hp:7031200, ex:3008, st:0)
Massif: alloc Sd 89 (t:7109424, hp:7106400, ex:3024, st:0)
Massif: alloc S. 90 (t:7185040, hp:7182000, ex:3040, st:0)
Massif: alloc S. 91 (t:7261056, hp:7258000, ex:3056, st:0)
Massif: alloc S. 92 (t:7337472, hp:7334400, ex:3072, st:0)
Massif: alloc S. 93 (t:7414288, hp:7411200, ex:3088, st:0)
Massif: alloc S. 94 (t:7491504, hp:7488400, ex:3104, st:0)
Massif: alloc S. 95 (t:7569120, hp:7566000, ex:3120, st:0)
Massif: alloc S. 96 (t:7647136, hp:7644000, ex:3136, st:0)
Massif: alloc S. 97 (t:7725552, hp:7722400, ex:3152, st:0)
Massif: alloc S. 98 (t:7804368, hp:7801200, ex:3168, st:0)
Massif: alloc Sd 99 (t:7883584, hp:7880400, ex:3184, st:0)
Massif: Culling...
Massif: 0 (t-span = 118832) Sd 49 (t:4412784, hp:4410400, ex:2384, st:0)
Massif: 1 (t-span = 120432) S. 51 (t:4532416, hp:4530000, ex:2416, st:0)
Massif: 2 (t-span = 122032) S. 53 (t:4653648, hp:4651200, ex:2448, st:0)
Massif: 3 (t-span = 123632) S. 55 (t:4776480, hp:4774000, ex:2480, st:0)
Massif: 4 (t-span = 124064) S. 13 (t:1202448, hp:1201200, ex:1248, st:0)
Massif: 5 (t-span = 125232) S. 57 (t:4900912, hp:4898400, ex:2512, st:0)
Massif: 6 (t-span = 126832) Sd 59 (t:5026944, hp:5024400, ex:2544, st:0)
Massif: 7 (t-span = 128432) S. 61 (t:5154576, hp:5152000, ex:2576, st:0)
Massif: 8 (t-span = 130032) S. 63 (t:5283808, hp:5281200, ex:2608, st:0)
Massif: 9 (t-span = 130464) S. 15 (t:1329712, hp:1328400, ex:1312, st:0)
Massif: 10 (t-span = 131632) S. 65 (t:5414640, hp:5412000, ex:2640, st:0)
Massif: 11 (t-span = 133232) S. 67 (t:5547072, hp:5544400, ex:2672, st:0)
Massif: 12 (t-span = 134832) Sd 69 (t:5681104, hp:5678400, ex:2704, st:0)
Massif: 13 (t-span = 136432) S. 71 (t:5816736, hp:5814000, ex:2736, st:0)
Massif: 14 (t-span = 136864) S. 17 (t:1463376, hp:1462000, ex:1376, st:0)
Massif: 15 (t-span = 138032) S. 73 (t:5953968, hp:5951200, ex:2768, st:0)
Massif: 16 (t-span = 139328) S. 4 (t:379104, hp:378400, ex:704, st:0)
Massif: 17 (t-span = 139632) S. 75 (t:6092800, hp:6090000, ex:2800, st:0)
Massif: 18 (t-span = 141232) S. 77 (t:6233232, hp:6230400, ex:2832, st:0)
Massif: 19 (t-span = 142832) Sd 79 (t:6375264, hp:6372400, ex:2864, st:0)
Massif: 20 (t-span = 143264) S. 19 (t:1603440, hp:1602000, ex:1440, st:0)
Massif: 21 (t-span = 144432) S. 81 (t:6518896, hp:6516000, ex:2896, st:0)
Massif: 22 (t-span = 146032) S. 83 (t:6664128, hp:6661200, ex:2928, st:0)
Massif: 23 (t-span = 147632) S. 85 (t:6810960, hp:6808000, ex:2960, st:0)
Massif: 24 (t-span = 149232) S. 87 (t:6959392, hp:6956400, ex:2992, st:0)
Massif: 25 (t-span = 149664) S. 21 (t:1749904, hp:1748400, ex:1504, st:0)
Massif: 26 (t-span = 150832) Sd 89 (t:7109424, hp:7106400, ex:3024, st:0)
Massif: 27 (t-span = 152432) S. 91 (t:7261056, hp:7258000, ex:3056, st:0)
Massif: 28 (t-span = 154032) S. 93 (t:7414288, hp:7411200, ex:3088, st:0)
Massif: 29 (t-span = 155632) S. 95 (t:7569120, hp:7566000, ex:3120, st:0)
Massif: 30 (t-span = 156064) S. 23 (t:1902768, hp:1901200, ex:1568, st:0)
Massif: 31 (t-span = 157232) S. 97 (t:7725552, hp:7722400, ex:3152, st:0)
Massif: 32 (t-span = 162464) S. 25 (t:2062032, hp:2060400, ex:1632, st:0)
Massif: 33 (t-span = 164928) S. 6 (t:531232, hp:530400, ex:832, st:0)
Massif: 34 (t-span = 168864) S. 27 (t:2227696, hp:2226000, ex:1696, st:0)
Massif: 35 (t-span = 175264) S. 29 (t:2399760, hp:2398000, ex:1760, st:0)
Massif: 36 (t-span = 181664) S. 31 (t:2578224, hp:2576400, ex:1824, st:0)
Massif: 37 (t-span = 188064) S. 33 (t:2763088, hp:2761200, ex:1888, st:0)
Massif: 38 (t-span = 190528) S. 8 (t:708960, hp:708000, ex:960, st:0)
Massif: 39 (t-span = 194464) S. 35 (t:2954352, hp:2952400, ex:1952, st:0)
Massif: 40 (t-span = 198912) S. 1 (t:110784, hp:110400, ex:384, st:0)
Massif: 41 (t-span = 200864) S. 37 (t:3152016, hp:3150000, ex:2016, st:0)
Massif: 42 (t-span = 207264) S. 39 (t:3356080, hp:3354000, ex:2080, st:0)
Massif: 43 (t-span = 213664) S. 41 (t:3566544, hp:3564400, ex:2144, st:0)
Massif: 44 (t-span = 216128) S. 10 (t:912288, hp:911200, ex:1088, st:0)
Massif: 45 (t-span = 220064) S. 43 (t:3783408, hp:3781200, ex:2208, st:0)
Massif: 46 (t-span = 226464) S. 45 (t:4006672, hp:4004400, ex:2272, st:0)
Massif: 47 (t-span = 232864) S. 47 (t:4236336, hp:4234000, ex:2336, st:0)
Massif: 48 (t-span = 236448) S. 98 (t:7804368, hp:7801200, ex:3168, st:0)
Massif: 49 (t-span = 239264) S. 50 (t:4472400, hp:4470000, ex:2400, st:0)
Massif: Finished culling ( 50 of 100 deleted)
Massif: post-cull S. 0 (t:0, hp:0, ex:0, st:0)
Massif: post-cull S. 1 (t:198912, hp:198400, ex:512, st:0)
Massif: post-cull S. 2 (t:312640, hp:312000, ex:640, st:0)
Massif: post-cull S. 3 (t:451968, hp:451200, ex:768, st:0)
Massif: post-cull S. 4 (t:616896, hp:616000, ex:896, st:0)
Massif: post-cull S. 5 (t:807424, hp:806400, ex:1024, st:0)
Massif: post-cull S. 6 (t:1023552, hp:1022400, ex:1152, st:0)
Massif: post-cull S. 7 (t:1141216, hp:1140000, ex:1216, st:0)
Massif: post-cull S. 8 (t:1265280, hp:1264000, ex:1280, st:0)
Massif: post-cull S. 9 (t:1395744, hp:1394400, ex:1344, st:0)
Massif: post-cull S. 10 (t:1532608, hp:1531200, ex:1408, st:0)
Massif: post-cull S. 11 (t:1675872, hp:1674400, ex:1472, st:0)
Massif: post-cull S. 12 (t:1825536, hp:1824000, ex:1536, st:0)
Massif: post-cull S. 13 (t:1981600, hp:1980000, ex:1600, st:0)
Massif: post-cull S. 14 (t:2144064, hp:2142400, ex:1664, st:0)
Massif: post-cull S. 15 (t:2312928, hp:2311200, ex:1728, st:0)
Massif: post-cull S. 16 (t:2488192, hp:2486400, ex:1792, st:0)
Massif: post-cull S. 17 (t:2669856, hp:2668000, ex:1856, st:0)
Massif: post-cull S. 18 (t:2857920, hp:2856000, ex:1920, st:0)
Massif: post-cull S. 19 (t:3052384, hp:3050400, ex:1984, st:0)
Massif: post-cull S. 20 (t:3253248, hp:3251200, ex:2048, st:0)
Massif: post-cull S. 21 (t:3460512, hp:3458400, ex:2112, st:0)
Massif: post-cull S. 22 (t:3674176, hp:3672000, ex:2176, st:0)
Massif: post-cull S. 23 (t:3894240, hp:3892000, ex:2240, st:0)
Massif: post-cull S. 24 (t:4120704, hp:4118400, ex:2304, st:0)
Massif: post-cull S. 25 (t:4353568, hp:4351200, ex:2368, st:0)
Massif: post-cull S. 26 (t:4592832, hp:4590400, ex:2432, st:0)
Massif: post-cull S. 27 (t:4714864, hp:4712400, ex:2464, st:0)
Massif: post-cull S. 28 (t:4838496, hp:4836000, ex:2496, st:0)
Massif: post-cull S. 29 (t:4963728, hp:4961200, ex:2528, st:0)
Massif: post-cull S. 30 (t:5090560, hp:5088000, ex:2560, st:0)
Massif: post-cull S. 31 (t:5218992, hp:5216400, ex:2592, st:0)
Massif: post-cull S. 32 (t:5349024, hp:5346400, ex:2624, st:0)
Massif: post-cull S. 33 (t:5480656, hp:5478000, ex:2656, st:0)
Massif: post-cull S. 34 (t:5613888, hp:5611200, ex:2688, st:0)
Massif: post-cull S. 35 (t:5748720, hp:5746000, ex:2720, st:0)
Massif: post-cull S. 36 (t:5885152, hp:5882400, ex:2752, st:0)
Massif: post-cull S. 37 (t:6023184, hp:6020400, ex:2784, st:0)
Massif: post-cull S. 38 (t:6162816, hp:6160000, ex:2816, st:0)
Massif: post-cull S. 39 (t:6304048, hp:6301200, ex:2848, st:0)
Massif: post-cull S. 40 (t:6446880, hp:6444000, ex:2880, st:0)
Massif: post-cull S. 41 (t:6591312, hp:6588400, ex:2912, st:0)
Massif: post-cull S. 42 (t:6737344, hp:6734400, ex:2944, st:0)
Massif: post-cull S. 43 (t:6884976, hp:6882000, ex:2976, st:0)
Massif: post-cull S. 44 (t:7034208, hp:7031200, ex:3008, st:0)
Massif: post-cull S. 45 (t:7185040, hp:7182000, ex:3040, st:0)
Massif: post-cull S. 46 (t:7337472, hp:7334400, ex:3072, st:0)
Massif: post-cull S. 47 (t:7491504, hp:7488400, ex:3104, st:0)
Massif: post-cull S. 48 (t:7647136, hp:7644000, ex:3136, st:0)
Massif: post-cull Sd 49 (t:7883584, hp:7880400, ex:3184, st:0)
Massif: New time interval = 113728 (between snapshots 1 and 2)
Massif: heap allocs: 200
Massif: heap reallocs: 0
Massif: heap frees: 0
Massif: ignored heap allocs: ...
Massif: ignored heap frees: ...
Massif: ignored heap reallocs: ...
Massif: stack allocs: 0
Massif: stack frees: 0
Massif: XPts: ...
Massif: top-XPts: ...
Massif: XPt init expansions: ...
Massif: XPt later expansions: ...
Massif: SXPt allocs: ...
Massif: SXPt frees: ...
Massif: skipped snapshots: 1
Massif: real snapshots: 200
Massif: detailed snapshots: 20
Massif: peak snapshots: 0
Massif: cullings: 3
Massif: XCon redos: ...
@@ -0,0 +1,5 @@
prog: culling2
vgopts: -v -v --stats=yes --stacks=no --time-unit=B --heap-admin=16 --massif-out-file=massif.out
vgopts: --ignore-fn=__part_load_locale --ignore-fn=__time_load_locale --ignore-fn=dwarf2_unwind_dyld_add_image_hook --ignore-fn=get_or_create_key_element
stderr_filter: filter_verbose
cleanup: rm massif.out
@@ -0,0 +1,73 @@
#include <unistd.h>
#include "tests/sys_mman.h"
#include <assert.h>
#include <stdlib.h>
#include "valgrind.h"
#define SUPERBLOCK_SIZE 100000
//-------------------------------------------------------------------------
// Allocator
//-------------------------------------------------------------------------
void* get_superblock(void)
{
void* p = mmap( 0, SUPERBLOCK_SIZE, PROT_READ|PROT_WRITE|PROT_EXEC,
MAP_PRIVATE|MAP_ANONYMOUS, -1, 0 );
assert(p != ((void*)(-1)));
return p;
}
// has a redzone
static void* custom_alloc(int size)
{
#define RZ 8
static void* hp = 0; // current heap pointer
static void* hp_lim = 0; // maximum usable byte in current block
int size2 = size + RZ*2;
void* p;
if (hp + size2 > hp_lim) {
hp = get_superblock();
hp_lim = hp + SUPERBLOCK_SIZE - 1;
}
p = hp + RZ;
hp += size2;
VALGRIND_MALLOCLIKE_BLOCK( p, size, RZ, /*is_zeroed*/1 );
return (void*)p;
}
static void custom_free(void* p)
{
// don't actually free any memory... but mark it as freed
VALGRIND_FREELIKE_BLOCK( p, RZ );
}
#undef RZ
//-------------------------------------------------------------------------
// Rest
//-------------------------------------------------------------------------
int main(void)
{
int* a = custom_alloc(400); // All sizes are divisible by 16 -- no slop.
custom_free(a);
a = custom_alloc(800);
custom_free(a);
a = malloc(400);
free(a);
a = malloc(800);
free(a);
return 0;
}
@@ -0,0 +1,64 @@
--------------------------------------------------------------------------------
Command: ./custom_alloc
Massif arguments: --stacks=no --time-unit=B --heap-admin=16 --massif-out-file=massif.out --ignore-fn=__part_load_locale --ignore-fn=__time_load_locale --ignore-fn=dwarf2_unwind_dyld_add_image_hook --ignore-fn=get_or_create_key_element
ms_print arguments: massif.out
--------------------------------------------------------------------------------
B
816^ ############ :::::::::::
| # :
| # :
| # :
| # :
| # :
| # :
| # :
| # :
| # :
| @@@@@@ # :::::: :
| @ # : :
| @ # : :
| @ # : :
| @ # : :
| @ # : :
| @ # : :
| @ # : :
| @ # : :
| @ # : :
0 +----------------------------------------------------------------------->KB
0 4.812
Number of snapshots: 11
Detailed snapshots: [2, 5 (peak)]
--------------------------------------------------------------------------------
n time(B) total(B) useful-heap(B) extra-heap(B) stacks(B)
--------------------------------------------------------------------------------
0 0 0 0 0 0
1 416 416 400 16 0
2 416 416 400 16 0
96.15% (400B) (heap allocation functions) malloc/new/new[], --alloc-fns, etc.
->96.15% (400B) 0x........: custom_alloc (custom_alloc.c:41)
->96.15% (400B) 0x........: main (custom_alloc.c:60)
--------------------------------------------------------------------------------
n time(B) total(B) useful-heap(B) extra-heap(B) stacks(B)
--------------------------------------------------------------------------------
3 832 0 0 0 0
4 1,648 816 800 16 0
5 1,648 816 800 16 0
98.04% (800B) (heap allocation functions) malloc/new/new[], --alloc-fns, etc.
->98.04% (800B) 0x........: custom_alloc (custom_alloc.c:41)
->98.04% (800B) 0x........: main (custom_alloc.c:63)
|
->00.00% (0B) in 1+ places, all below ms_print's threshold (01.00%)
--------------------------------------------------------------------------------
n time(B) total(B) useful-heap(B) extra-heap(B) stacks(B)
--------------------------------------------------------------------------------
6 2,464 0 0 0 0
7 2,880 416 400 16 0
8 3,296 0 0 0 0
9 4,112 816 800 16 0
10 4,928 0 0 0 0
@@ -0,0 +1,5 @@
prog: custom_alloc
vgopts: --stacks=no --time-unit=B --heap-admin=16 --massif-out-file=massif.out
vgopts: --ignore-fn=__part_load_locale --ignore-fn=__time_load_locale --ignore-fn=dwarf2_unwind_dyld_add_image_hook --ignore-fn=get_or_create_key_element
post: perl ../../massif/ms_print massif.out | ../../tests/filter_addresses
cleanup: rm massif.out
@@ -0,0 +1,61 @@
--------------------------------------------------------------------------------
Command: ./deep
Massif arguments: --stacks=no --time-unit=B --depth=8 --massif-out-file=massif.out --ignore-fn=__part_load_locale --ignore-fn=__time_load_locale --ignore-fn=dwarf2_unwind_dyld_add_image_hook --ignore-fn=get_or_create_key_element
ms_print arguments: massif.out
--------------------------------------------------------------------------------
KB
3.984^ :
| :
| @@@@@@@:
| @ :
| :::::::@ :
| : @ :
| :::::::: @ :
| : : @ :
| :::::::: : @ :
| : : : @ :
| :::::::: : : @ :
| : : : : @ :
| ::::::::: : : : @ :
| : : : : : @ :
| :::::::: : : : : @ :
| : : : : : : @ :
| :::::::: : : : : : @ :
| : : : : : : : @ :
| :::::::: : : : : : : @ :
| : : : : : : : : @ :
0 +----------------------------------------------------------------------->KB
0 3.984
Number of snapshots: 11
Detailed snapshots: [9]
--------------------------------------------------------------------------------
n time(B) total(B) useful-heap(B) extra-heap(B) stacks(B)
--------------------------------------------------------------------------------
0 0 0 0 0 0
1 408 408 400 8 0
2 816 816 800 16 0
3 1,224 1,224 1,200 24 0
4 1,632 1,632 1,600 32 0
5 2,040 2,040 2,000 40 0
6 2,448 2,448 2,400 48 0
7 2,856 2,856 2,800 56 0
8 3,264 3,264 3,200 64 0
9 3,672 3,672 3,600 72 0
98.04% (3,600B) (heap allocation functions) malloc/new/new[], --alloc-fns, etc.
->98.04% (3,600B) 0x........: a12 (deep.c:16)
->98.04% (3,600B) 0x........: a11 (deep.c:17)
->98.04% (3,600B) 0x........: a10 (deep.c:18)
->98.04% (3,600B) 0x........: a9 (deep.c:19)
->98.04% (3,600B) 0x........: a8 (deep.c:20)
->98.04% (3,600B) 0x........: a7 (deep.c:21)
->98.04% (3,600B) 0x........: a6 (deep.c:22)
->98.04% (3,600B) 0x........: a5 (deep.c:23)
--------------------------------------------------------------------------------
n time(B) total(B) useful-heap(B) extra-heap(B) stacks(B)
--------------------------------------------------------------------------------
10 4,080 4,080 4,000 80 0
@@ -0,0 +1,2 @@
@@ -0,0 +1,5 @@
prog: deep
vgopts: --stacks=no --time-unit=B --depth=8 --massif-out-file=massif.out
vgopts: --ignore-fn=__part_load_locale --ignore-fn=__time_load_locale --ignore-fn=dwarf2_unwind_dyld_add_image_hook --ignore-fn=get_or_create_key_element
post: perl ../../massif/ms_print massif.out | ../../tests/filter_addresses
cleanup: rm massif.out
@@ -0,0 +1,59 @@
--------------------------------------------------------------------------------
Command: ./deep
Massif arguments: --stacks=no --time-unit=B --alloc-fn=a6 --alloc-fn=a7 --alloc-fn=a8 --alloc-fn=a9 --alloc-fn=a10 --alloc-fn=a11 --alloc-fn=a12 --depth=8 --massif-out-file=massif.out --ignore-fn=__part_load_locale --ignore-fn=__time_load_locale --ignore-fn=dwarf2_unwind_dyld_add_image_hook --ignore-fn=get_or_create_key_element
ms_print arguments: massif.out
--------------------------------------------------------------------------------
KB
3.984^ :
| :
| @@@@@@@:
| @ :
| :::::::@ :
| : @ :
| :::::::: @ :
| : : @ :
| :::::::: : @ :
| : : : @ :
| :::::::: : : @ :
| : : : : @ :
| ::::::::: : : : @ :
| : : : : : @ :
| :::::::: : : : : @ :
| : : : : : : @ :
| :::::::: : : : : : @ :
| : : : : : : : @ :
| :::::::: : : : : : : @ :
| : : : : : : : : @ :
0 +----------------------------------------------------------------------->KB
0 3.984
Number of snapshots: 11
Detailed snapshots: [9]
--------------------------------------------------------------------------------
n time(B) total(B) useful-heap(B) extra-heap(B) stacks(B)
--------------------------------------------------------------------------------
0 0 0 0 0 0
1 408 408 400 8 0
2 816 816 800 16 0
3 1,224 1,224 1,200 24 0
4 1,632 1,632 1,600 32 0
5 2,040 2,040 2,000 40 0
6 2,448 2,448 2,400 48 0
7 2,856 2,856 2,800 56 0
8 3,264 3,264 3,200 64 0
9 3,672 3,672 3,600 72 0
98.04% (3,600B) (heap allocation functions) malloc/new/new[], --alloc-fns, etc.
->98.04% (3,600B) 0x........: a5 (deep.c:23)
->98.04% (3,600B) 0x........: a4 (deep.c:24)
->98.04% (3,600B) 0x........: a3 (deep.c:25)
->98.04% (3,600B) 0x........: a2 (deep.c:26)
->98.04% (3,600B) 0x........: a1 (deep.c:27)
->98.04% (3,600B) 0x........: main (deep.c:35)
--------------------------------------------------------------------------------
n time(B) total(B) useful-heap(B) extra-heap(B) stacks(B)
--------------------------------------------------------------------------------
10 4,080 4,080 4,000 80 0
@@ -0,0 +1,60 @@
Massif: alloc-fns:
Massif: malloc
Massif: __builtin_new
Massif: operator new(unsigned)
Massif: operator new(unsigned long)
Massif: __builtin_vec_new
Massif: operator new[](unsigned)
Massif: operator new[](unsigned long)
Massif: calloc
Massif: realloc
Massif: memalign
Massif: posix_memalign
Massif: valloc
Massif: operator new(unsigned, std::nothrow_t const&)
Massif: operator new[](unsigned, std::nothrow_t const&)
Massif: operator new(unsigned long, std::nothrow_t const&)
Massif: operator new[](unsigned long, std::nothrow_t const&)
Massif: a6
Massif: a7
Massif: a8
Massif: a9
Massif: a10
Massif: a11
Massif: a12
Massif: ignore-fns:
Massif: 0: __part_load_locale
Massif: 1: __time_load_locale
Massif: 2: dwarf2_unwind_dyld_add_image_hook
Massif: 3: get_or_create_key_element
Massif: startup S. 0 (t:0, hp:0, ex:0, st:0)
Massif: alloc S. 1 (t:408, hp:400, ex:8, st:0)
Massif: alloc S. 2 (t:816, hp:800, ex:16, st:0)
Massif: alloc S. 3 (t:1224, hp:1200, ex:24, st:0)
Massif: alloc S. 4 (t:1632, hp:1600, ex:32, st:0)
Massif: alloc S. 5 (t:2040, hp:2000, ex:40, st:0)
Massif: alloc S. 6 (t:2448, hp:2400, ex:48, st:0)
Massif: alloc S. 7 (t:2856, hp:2800, ex:56, st:0)
Massif: alloc S. 8 (t:3264, hp:3200, ex:64, st:0)
Massif: alloc Sd 9 (t:3672, hp:3600, ex:72, st:0)
Massif: alloc S. 10 (t:4080, hp:4000, ex:80, st:0)
Massif: heap allocs: 10
Massif: heap reallocs: 0
Massif: heap frees: 0
Massif: ignored heap allocs: ...
Massif: ignored heap frees: ...
Massif: ignored heap reallocs: ...
Massif: stack allocs: 0
Massif: stack frees: 0
Massif: XPts: ...
Massif: top-XPts: ...
Massif: XPt init expansions: ...
Massif: XPt later expansions: ...
Massif: SXPt allocs: ...
Massif: SXPt frees: ...
Massif: skipped snapshots: 0
Massif: real snapshots: 11
Massif: detailed snapshots: 1
Massif: peak snapshots: 0
Massif: cullings: 0
Massif: XCon redos: ...
@@ -0,0 +1,6 @@
prog: deep
vgopts: --stats=yes --stacks=no --time-unit=B --alloc-fn=a6 --alloc-fn=a7 --alloc-fn=a8 --alloc-fn=a9 --alloc-fn=a10 --alloc-fn=a11 --alloc-fn=a12 -v -v --depth=8 --massif-out-file=massif.out
vgopts: --ignore-fn=__part_load_locale --ignore-fn=__time_load_locale --ignore-fn=dwarf2_unwind_dyld_add_image_hook --ignore-fn=get_or_create_key_element
stderr_filter: filter_verbose
post: perl ../../massif/ms_print massif.out | ../../tests/filter_addresses
cleanup: rm massif.out
@@ -0,0 +1,56 @@
--------------------------------------------------------------------------------
Command: ./deep
Massif arguments: --stacks=no --time-unit=B --alloc-fn=a3 --alloc-fn=a4 --alloc-fn=a5 --alloc-fn=a6 --alloc-fn=a7 --alloc-fn=a8 --alloc-fn=a9 --alloc-fn=a10 --alloc-fn=a11 --alloc-fn=a12 --depth=8 --massif-out-file=massif.out --ignore-fn=__part_load_locale --ignore-fn=__time_load_locale --ignore-fn=dwarf2_unwind_dyld_add_image_hook --ignore-fn=get_or_create_key_element
ms_print arguments: massif.out
--------------------------------------------------------------------------------
KB
3.984^ :
| :
| @@@@@@@:
| @ :
| :::::::@ :
| : @ :
| :::::::: @ :
| : : @ :
| :::::::: : @ :
| : : : @ :
| :::::::: : : @ :
| : : : : @ :
| ::::::::: : : : @ :
| : : : : : @ :
| :::::::: : : : : @ :
| : : : : : : @ :
| :::::::: : : : : : @ :
| : : : : : : : @ :
| :::::::: : : : : : : @ :
| : : : : : : : : @ :
0 +----------------------------------------------------------------------->KB
0 3.984
Number of snapshots: 11
Detailed snapshots: [9]
--------------------------------------------------------------------------------
n time(B) total(B) useful-heap(B) extra-heap(B) stacks(B)
--------------------------------------------------------------------------------
0 0 0 0 0 0
1 408 408 400 8 0
2 816 816 800 16 0
3 1,224 1,224 1,200 24 0
4 1,632 1,632 1,600 32 0
5 2,040 2,040 2,000 40 0
6 2,448 2,448 2,400 48 0
7 2,856 2,856 2,800 56 0
8 3,264 3,264 3,200 64 0
9 3,672 3,672 3,600 72 0
98.04% (3,600B) (heap allocation functions) malloc/new/new[], --alloc-fns, etc.
->98.04% (3,600B) 0x........: a2 (deep.c:26)
->98.04% (3,600B) 0x........: a1 (deep.c:27)
->98.04% (3,600B) 0x........: main (deep.c:35)
--------------------------------------------------------------------------------
n time(B) total(B) useful-heap(B) extra-heap(B) stacks(B)
--------------------------------------------------------------------------------
10 4,080 4,080 4,000 80 0
@@ -0,0 +1,63 @@
Massif: alloc-fns:
Massif: malloc
Massif: __builtin_new
Massif: operator new(unsigned)
Massif: operator new(unsigned long)
Massif: __builtin_vec_new
Massif: operator new[](unsigned)
Massif: operator new[](unsigned long)
Massif: calloc
Massif: realloc
Massif: memalign
Massif: posix_memalign
Massif: valloc
Massif: operator new(unsigned, std::nothrow_t const&)
Massif: operator new[](unsigned, std::nothrow_t const&)
Massif: operator new(unsigned long, std::nothrow_t const&)
Massif: operator new[](unsigned long, std::nothrow_t const&)
Massif: a3
Massif: a4
Massif: a5
Massif: a6
Massif: a7
Massif: a8
Massif: a9
Massif: a10
Massif: a11
Massif: a12
Massif: ignore-fns:
Massif: 0: __part_load_locale
Massif: 1: __time_load_locale
Massif: 2: dwarf2_unwind_dyld_add_image_hook
Massif: 3: get_or_create_key_element
Massif: startup S. 0 (t:0, hp:0, ex:0, st:0)
Massif: alloc S. 1 (t:408, hp:400, ex:8, st:0)
Massif: alloc S. 2 (t:816, hp:800, ex:16, st:0)
Massif: alloc S. 3 (t:1224, hp:1200, ex:24, st:0)
Massif: alloc S. 4 (t:1632, hp:1600, ex:32, st:0)
Massif: alloc S. 5 (t:2040, hp:2000, ex:40, st:0)
Massif: alloc S. 6 (t:2448, hp:2400, ex:48, st:0)
Massif: alloc S. 7 (t:2856, hp:2800, ex:56, st:0)
Massif: alloc S. 8 (t:3264, hp:3200, ex:64, st:0)
Massif: alloc Sd 9 (t:3672, hp:3600, ex:72, st:0)
Massif: alloc S. 10 (t:4080, hp:4000, ex:80, st:0)
Massif: heap allocs: 10
Massif: heap reallocs: 0
Massif: heap frees: 0
Massif: ignored heap allocs: ...
Massif: ignored heap frees: ...
Massif: ignored heap reallocs: ...
Massif: stack allocs: 0
Massif: stack frees: 0
Massif: XPts: ...
Massif: top-XPts: ...
Massif: XPt init expansions: ...
Massif: XPt later expansions: ...
Massif: SXPt allocs: ...
Massif: SXPt frees: ...
Massif: skipped snapshots: 0
Massif: real snapshots: 11
Massif: detailed snapshots: 1
Massif: peak snapshots: 0
Massif: cullings: 0
Massif: XCon redos: ...
@@ -0,0 +1,6 @@
prog: deep
vgopts: --stacks=no --time-unit=B --alloc-fn=a3 --alloc-fn=a4 --alloc-fn=a5 --alloc-fn=a6 --alloc-fn=a7 --alloc-fn=a8 --alloc-fn=a9 --alloc-fn=a10 --alloc-fn=a11 --alloc-fn=a12 -v -v --stats=yes --depth=8 --massif-out-file=massif.out
vgopts: --ignore-fn=__part_load_locale --ignore-fn=__time_load_locale --ignore-fn=dwarf2_unwind_dyld_add_image_hook --ignore-fn=get_or_create_key_element
stderr_filter: filter_verbose
post: perl ../../massif/ms_print massif.out | ../../tests/filter_addresses
cleanup: rm massif.out
@@ -0,0 +1,54 @@
--------------------------------------------------------------------------------
Command: ./deep
Massif arguments: --stacks=no --time-unit=B --alloc-fn=a1 --alloc-fn=a2 --alloc-fn=a3 --alloc-fn=a4 --alloc-fn=a5 --alloc-fn=a6 --alloc-fn=a7 --alloc-fn=a8 --alloc-fn=a9 --alloc-fn=a10 --alloc-fn=a11 --alloc-fn=a12 --alloc-fn=main --depth=20 --massif-out-file=massif.out --ignore-fn=__part_load_locale --ignore-fn=__time_load_locale --ignore-fn=dwarf2_unwind_dyld_add_image_hook --ignore-fn=get_or_create_key_element
ms_print arguments: massif.out
--------------------------------------------------------------------------------
KB
3.984^ :
| :
| @@@@@@@:
| @ :
| :::::::@ :
| : @ :
| :::::::: @ :
| : : @ :
| :::::::: : @ :
| : : : @ :
| :::::::: : : @ :
| : : : : @ :
| ::::::::: : : : @ :
| : : : : : @ :
| :::::::: : : : : @ :
| : : : : : : @ :
| :::::::: : : : : : @ :
| : : : : : : : @ :
| :::::::: : : : : : : @ :
| : : : : : : : : @ :
0 +----------------------------------------------------------------------->KB
0 3.984
Number of snapshots: 11
Detailed snapshots: [9]
--------------------------------------------------------------------------------
n time(B) total(B) useful-heap(B) extra-heap(B) stacks(B)
--------------------------------------------------------------------------------
0 0 0 0 0 0
1 408 408 400 8 0
2 816 816 800 16 0
3 1,224 1,224 1,200 24 0
4 1,632 1,632 1,600 32 0
5 2,040 2,040 2,000 40 0
6 2,448 2,448 2,400 48 0
7 2,856 2,856 2,800 56 0
8 3,264 3,264 3,200 64 0
9 3,672 3,672 3,600 72 0
98.04% (3,600B) (heap allocation functions) malloc/new/new[], --alloc-fns, etc.
->98.04% (3,600B) 0x........: (below main)
--------------------------------------------------------------------------------
n time(B) total(B) useful-heap(B) extra-heap(B) stacks(B)
--------------------------------------------------------------------------------
10 4,080 4,080 4,000 80 0
@@ -0,0 +1,55 @@
--------------------------------------------------------------------------------
Command: ./deep
Massif arguments: --stacks=no --time-unit=B --alloc-fn=a1 --alloc-fn=a2 --alloc-fn=a3 --alloc-fn=a4 --alloc-fn=a5 --alloc-fn=a6 --alloc-fn=a7 --alloc-fn=a8 --alloc-fn=a9 --alloc-fn=a10 --alloc-fn=a11 --alloc-fn=a12 --alloc-fn=main --depth=20 --massif-out-file=massif.out --ignore-fn=__part_load_locale --ignore-fn=__time_load_locale --ignore-fn=dwarf2_unwind_dyld_add_image_hook --ignore-fn=get_or_create_key_element
ms_print arguments: massif.out
--------------------------------------------------------------------------------
KB
3.984^ :
| :
| @@@@@@@:
| @ :
| :::::::@ :
| : @ :
| :::::::: @ :
| : : @ :
| :::::::: : @ :
| : : : @ :
| :::::::: : : @ :
| : : : : @ :
| ::::::::: : : : @ :
| : : : : : @ :
| :::::::: : : : : @ :
| : : : : : : @ :
| :::::::: : : : : : @ :
| : : : : : : : @ :
| :::::::: : : : : : : @ :
| : : : : : : : : @ :
0 +----------------------------------------------------------------------->KB
0 3.984
Number of snapshots: 11
Detailed snapshots: [9]
--------------------------------------------------------------------------------
n time(B) total(B) useful-heap(B) extra-heap(B) stacks(B)
--------------------------------------------------------------------------------
0 0 0 0 0 0
1 408 408 400 8 0
2 816 816 800 16 0
3 1,224 1,224 1,200 24 0
4 1,632 1,632 1,600 32 0
5 2,040 2,040 2,000 40 0
6 2,448 2,448 2,400 48 0
7 2,856 2,856 2,800 56 0
8 3,264 3,264 3,200 64 0
9 3,672 3,672 3,600 72 0
98.04% (3,600B) (heap allocation functions) malloc/new/new[], --alloc-fns, etc.
->98.04% (3,600B) 0x........: generic_start_main.isra.0 (in /...libc...)
->98.04% (3,600B) 0x........: (below main)
--------------------------------------------------------------------------------
n time(B) total(B) useful-heap(B) extra-heap(B) stacks(B)
--------------------------------------------------------------------------------
10 4,080 4,080 4,000 80 0
@@ -0,0 +1,2 @@
@@ -0,0 +1,5 @@
prog: deep
vgopts: --stacks=no --time-unit=B --alloc-fn=a1 --alloc-fn=a2 --alloc-fn=a3 --alloc-fn=a4 --alloc-fn=a5 --alloc-fn=a6 --alloc-fn=a7 --alloc-fn=a8 --alloc-fn=a9 --alloc-fn=a10 --alloc-fn=a11 --alloc-fn=a12 --alloc-fn=main --depth=20 --massif-out-file=massif.out
vgopts: --ignore-fn=__part_load_locale --ignore-fn=__time_load_locale --ignore-fn=dwarf2_unwind_dyld_add_image_hook --ignore-fn=get_or_create_key_element
post: perl ../../massif/ms_print massif.out | ../../tests/filter_addresses | ../../tests/filter_libc
cleanup: rm massif.out
@@ -0,0 +1,38 @@
// This is a test for complicated stack traces.
//
// - In deep-A.vgtest, the stack trace is larger than the asked-for depth
// (12 vs. 8) so not all of the trace is shown.
// - In deep-B.vgtest, we have --alloc-fn=a6..a12, which means that get_XCon
// needs to redo the IP getting, because 7 functions get removed from the
// trace, which is more than the initial overestimate of 3.
// - In deep-C.vgtest, we have --alloc-fn=a3..a12, which means that get_XCon
// ends up with an empty stack trace after removing all the alloc-fns.
// It then redoes it.
// - In deep-D.vgtest, we have --alloc-fn=main..a12, which means we have a
// stack trace with a single "(below main)" entry.
#include <stdlib.h>
void a12(int n) { malloc(n); }
void a11(int n) { a12(n); }
void a10(int n) { a11(n); }
void a9 (int n) { a10(n); }
void a8 (int n) { a9 (n); }
void a7 (int n) { a8 (n); }
void a6 (int n) { a7 (n); }
void a5 (int n) { a6 (n); }
void a4 (int n) { a5 (n); }
void a3 (int n) { a4 (n); }
void a2 (int n) { a3 (n); }
void a1 (int n) { a2 (n); }
int main(void)
{
int i;
// This one exceeds the default --depth.
for (i = 0; i < 10; i++)
a1(400); // divisible by 16 -- no slop
return 0;
}
+16
View File
@@ -0,0 +1,16 @@
#! /bin/sh
dir=`dirname $0`
$dir/../../tests/filter_stderr_basic |
# Remove "Massif, ..." line and the following copyright line.
sed "/^Massif, a heap profiler/ , /./ d" |
# Remove AIX-only alloc-fns
perl -n -e 'print if !/^Massif: (malloc|calloc|realloc|memalign)_common$/' |
# Remove Darwin-only alloc-fns
perl -n -e 'print if !/^Massif: malloc_zone_(malloc|calloc|realloc|memalign|valloc)$/'
@@ -0,0 +1,31 @@
#! /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 |
# Remove any --pid:0: strings (debuglog level zero output)
sed "/^--[0-9]\{1,7\}:0:*/d" |
# 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" |
# These ignored heap counts could vary from machine to machine.
sed "s/\(Massif: ignored heap allocs:\).*/\1 .../" |
sed "s/\(Massif: ignored heap frees:\).*/\1 .../" |
sed "s/\(Massif: ignored heap reallocs:\).*/\1 .../" |
# These XPt counts vary from machine to machine, because the size of the
# stack trace can vary -- eg. some machines have more stack frames below
# zero than other machines. So filter them out.
sed "s/\(Massif: XPts:\).*/\1 .../" |
sed "s/\(Massif: top-XPts:\).*/\1 .../" |
sed "s/\(Massif: XPt init expansions:\).*/\1 .../" |
sed "s/\(Massif: XPt later expansions:\).*/\1 .../" |
sed "s/\(Massif: SXPt allocs:\).*/\1 .../" |
sed "s/\(Massif: SXPt frees:\).*/\1 .../" |
sed "s/\(Massif: XCon redos:\).*/\1 .../"
@@ -0,0 +1,51 @@
#include <stdlib.h>
// All sizes are divisible by 16 -- no slop.
int* ignore1(void)
{
// Allocating/freeing in an ignored function: ignored.
int* ignored_x1 = malloc(400);
int* ignored_x2 = malloc(400);
free(ignored_x2);
return ignored_x1;
}
void ignore2(int* x, int* ignored_x)
{
// Growing/shrinking a non-ignored block in an ignored function: ignored.
x = realloc(x, 800);
x = realloc(x, 400);
// Growing/shrinking an ignored block in an ignored function: ignored.
ignored_x = realloc(ignored_x, 800);
ignored_x = realloc(ignored_x, 400);
}
int main(void)
{
int* x;
int* ignored_x;
// Not ignored.
x = malloc(400);
// Get an ignored block.
ignored_x = ignore1();
// Growing/shrinking a non-ignored block in a non-ignored function:
// not ignored.
x = realloc(x, 800);
x = realloc(x, 400);
// Growing/shrinking an ignored block in a non-ignored function: ignored.
ignored_x = realloc(ignored_x, 800);
ignored_x = realloc(ignored_x, 400);
ignore2(x, ignored_x);
x = realloc(ignored_x, 0); // equivalent to 'free(ignored_x)'.
return 0;
}
@@ -0,0 +1,50 @@
--------------------------------------------------------------------------------
Command: ./ignored
Massif arguments: --stacks=no --time-unit=B --heap-admin=0 --massif-out-file=massif.out --ignore-fn=ignore1 --ignore-fn=ignore2 --ignore-fn=__part_load_locale --ignore-fn=__time_load_locale --ignore-fn=dwarf2_unwind_dyld_add_image_hook --ignore-fn=get_or_create_key_element
ms_print arguments: massif.out
--------------------------------------------------------------------------------
B
800^ #
| #
| #
| #
| #
| #
| #
| #
| #
| #
| :::::::::::::::::::::::::::::::::::#
| : #
| : #
| : #
| : #
| : #
| : #
| : #
| : #
| : #
0 +----------------------------------------------------------------------->B
0 800
Number of snapshots: 5
Detailed snapshots: [3 (peak)]
--------------------------------------------------------------------------------
n time(B) total(B) useful-heap(B) extra-heap(B) stacks(B)
--------------------------------------------------------------------------------
0 0 0 0 0 0
1 400 400 400 0 0
2 800 800 800 0 0
3 800 800 800 0 0
100.00% (800B) (heap allocation functions) malloc/new/new[], --alloc-fns, etc.
->100.00% (800B) 0x........: main (ignored.c:38)
|
->00.00% (0B) in 1+ places, all below ms_print's threshold (01.00%)
--------------------------------------------------------------------------------
n time(B) total(B) useful-heap(B) extra-heap(B) stacks(B)
--------------------------------------------------------------------------------
4 800 800 400 400 0
@@ -0,0 +1,2 @@
@@ -0,0 +1,6 @@
prog: ignored
vgopts: --stacks=no --time-unit=B --heap-admin=0 --massif-out-file=massif.out
vgopts: --ignore-fn=ignore1 --ignore-fn=ignore2
vgopts: --ignore-fn=__part_load_locale --ignore-fn=__time_load_locale --ignore-fn=dwarf2_unwind_dyld_add_image_hook --ignore-fn=get_or_create_key_element
post: perl ../../massif/ms_print massif.out | ../../tests/filter_addresses
cleanup: rm massif.out
@@ -0,0 +1,31 @@
// When we cull and compute the new minimum time between snapshots, we want
// to ignore any gap between two uncullable snapshots, because it is not
// representative. This program tests that.
#include <stdlib.h>
int main(void)
{
int i;
// The peak is from the first allocation.
int* x = malloc(1024);
free(x);
// Now do an allocation to provide the post-peak baseline.
malloc(512);
// Now we do lots of allocations below the peak. With the proper
// handling, the allocations should still be smoothly distributed.
// Without it, the snapshots in the second half of the graph would be
// clustered much more closely than those in the first half.
//
for (i = 0; i < 350; i++) {
int* y = malloc(256);
free(y);
}
return 0;
}
@@ -0,0 +1,237 @@
--------------------------------------------------------------------------------
Command: ./ignoring
Massif arguments: --stacks=no --time-unit=B --massif-out-file=massif.out --ignore-fn=__part_load_locale --ignore-fn=__time_load_locale --ignore-fn=dwarf2_unwind_dyld_add_image_hook --ignore-fn=get_or_create_key_element
ms_print arguments: massif.out
--------------------------------------------------------------------------------
KB
1.008^##
|#
|#
|#
|#
|# ::::::::::::@:::@:::@:::@:::@::::@:::::::@:::::::@:::::::@::::
|# ::::::::::::@:::@:::@:::@:::@: ::@:::::::@:::::::@:::::::@::::
|# ::::::::::::@:::@:::@:::@:::@: ::@:::::::@:::::::@:::::::@::::
|# ::::::::::::@:::@:::@:::@:::@: ::@:::::::@:::::::@:::::::@::::
|# ::::::::::::@:::@:::@:::@:::@: ::@:::::::@:::::::@:::::::@::::
|# @:::@:::::::::::::::@:::@:::@:::@:::@: ::@:::::::@:::::::@:::::::@::::
|# @:::@:::::::::::::::@:::@:::@:::@:::@: ::@:::::::@:::::::@:::::::@::::
|# @:::@:::::::::::::::@:::@:::@:::@:::@: ::@:::::::@:::::::@:::::::@::::
|# @:::@:::::::::::::::@:::@:::@:::@:::@: ::@:::::::@:::::::@:::::::@::::
|# @:::@:::::::::::::::@:::@:::@:::@:::@: ::@:::::::@:::::::@:::::::@::::
|# @:::@:::::::::::::::@:::@:::@:::@:::@: ::@:::::::@:::::::@:::::::@::::
|# @:::@:::::::::::::::@:::@:::@:::@:::@: ::@:::::::@:::::::@:::::::@::::
|# @:::@:::::::::::::::@:::@:::@:::@:::@: ::@:::::::@:::::::@:::::::@::::
|# @:::@:::::::::::::::@:::@:::@:::@:::@: ::@:::::::@:::::::@:::::::@::::
|# @:::@:::::::::::::::@:::@:::@:::@:::@: ::@:::::::@:::::::@:::::::@::::
0 +----------------------------------------------------------------------->KB
0 182.7
Number of snapshots: 88
Detailed snapshots: [1 (peak), 3, 8, 26, 31, 36, 41, 46, 52, 62, 72, 82]
--------------------------------------------------------------------------------
n time(B) total(B) useful-heap(B) extra-heap(B) stacks(B)
--------------------------------------------------------------------------------
0 0 0 0 0 0
1 1,032 1,032 1,024 8 0
99.22% (1,024B) (heap allocation functions) malloc/new/new[], --alloc-fns, etc.
->99.22% (1,024B) 0x........: main (ignoring.c:13)
--------------------------------------------------------------------------------
n time(B) total(B) useful-heap(B) extra-heap(B) stacks(B)
--------------------------------------------------------------------------------
2 5,224 520 512 8 0
3 7,336 520 512 8 0
98.46% (512B) (heap allocation functions) malloc/new/new[], --alloc-fns, etc.
->98.46% (512B) 0x........: main (ignoring.c:17)
|
->00.00% (0B) in 1+ places, all below ms_print's threshold (01.00%)
--------------------------------------------------------------------------------
n time(B) total(B) useful-heap(B) extra-heap(B) stacks(B)
--------------------------------------------------------------------------------
4 9,448 520 512 8 0
5 11,560 520 512 8 0
6 13,672 520 512 8 0
7 15,784 520 512 8 0
8 17,896 520 512 8 0
98.46% (512B) (heap allocation functions) malloc/new/new[], --alloc-fns, etc.
->98.46% (512B) 0x........: main (ignoring.c:17)
|
->00.00% (0B) in 1+ places, all below ms_print's threshold (01.00%)
--------------------------------------------------------------------------------
n time(B) total(B) useful-heap(B) extra-heap(B) stacks(B)
--------------------------------------------------------------------------------
9 20,008 520 512 8 0
10 22,120 520 512 8 0
11 24,232 520 512 8 0
12 27,664 784 768 16 0
13 29,776 784 768 16 0
14 31,888 784 768 16 0
15 34,000 784 768 16 0
16 36,112 784 768 16 0
17 38,224 784 768 16 0
18 40,336 784 768 16 0
19 42,448 784 768 16 0
20 44,560 784 768 16 0
21 46,672 784 768 16 0
22 48,784 784 768 16 0
23 50,896 784 768 16 0
24 53,008 784 768 16 0
25 55,120 784 768 16 0
26 57,232 784 768 16 0
97.96% (768B) (heap allocation functions) malloc/new/new[], --alloc-fns, etc.
->65.31% (512B) 0x........: main (ignoring.c:17)
|
->32.65% (256B) 0x........: main (ignoring.c:26)
|
->00.00% (0B) in 1+ places, all below ms_print's threshold (01.00%)
--------------------------------------------------------------------------------
n time(B) total(B) useful-heap(B) extra-heap(B) stacks(B)
--------------------------------------------------------------------------------
27 59,344 784 768 16 0
28 61,456 784 768 16 0
29 63,568 784 768 16 0
30 65,680 784 768 16 0
31 67,792 784 768 16 0
97.96% (768B) (heap allocation functions) malloc/new/new[], --alloc-fns, etc.
->65.31% (512B) 0x........: main (ignoring.c:17)
|
->32.65% (256B) 0x........: main (ignoring.c:26)
|
->00.00% (0B) in 1+ places, all below ms_print's threshold (01.00%)
--------------------------------------------------------------------------------
n time(B) total(B) useful-heap(B) extra-heap(B) stacks(B)
--------------------------------------------------------------------------------
32 69,904 784 768 16 0
33 72,016 784 768 16 0
34 74,128 784 768 16 0
35 76,240 784 768 16 0
36 78,352 784 768 16 0
97.96% (768B) (heap allocation functions) malloc/new/new[], --alloc-fns, etc.
->65.31% (512B) 0x........: main (ignoring.c:17)
|
->32.65% (256B) 0x........: main (ignoring.c:26)
|
->00.00% (0B) in 1+ places, all below ms_print's threshold (01.00%)
--------------------------------------------------------------------------------
n time(B) total(B) useful-heap(B) extra-heap(B) stacks(B)
--------------------------------------------------------------------------------
37 80,464 784 768 16 0
38 82,576 784 768 16 0
39 84,688 784 768 16 0
40 86,800 784 768 16 0
41 88,912 784 768 16 0
97.96% (768B) (heap allocation functions) malloc/new/new[], --alloc-fns, etc.
->65.31% (512B) 0x........: main (ignoring.c:17)
|
->32.65% (256B) 0x........: main (ignoring.c:26)
|
->00.00% (0B) in 1+ places, all below ms_print's threshold (01.00%)
--------------------------------------------------------------------------------
n time(B) total(B) useful-heap(B) extra-heap(B) stacks(B)
--------------------------------------------------------------------------------
42 91,024 784 768 16 0
43 93,136 784 768 16 0
44 95,248 784 768 16 0
45 97,360 784 768 16 0
46 99,472 784 768 16 0
97.96% (768B) (heap allocation functions) malloc/new/new[], --alloc-fns, etc.
->65.31% (512B) 0x........: main (ignoring.c:17)
|
->32.65% (256B) 0x........: main (ignoring.c:26)
|
->00.00% (0B) in 1+ places, all below ms_print's threshold (01.00%)
--------------------------------------------------------------------------------
n time(B) total(B) useful-heap(B) extra-heap(B) stacks(B)
--------------------------------------------------------------------------------
47 101,584 784 768 16 0
48 103,696 784 768 16 0
49 106,864 784 768 16 0
50 108,976 784 768 16 0
51 111,088 784 768 16 0
52 113,200 784 768 16 0
97.96% (768B) (heap allocation functions) malloc/new/new[], --alloc-fns, etc.
->65.31% (512B) 0x........: main (ignoring.c:17)
|
->32.65% (256B) 0x........: main (ignoring.c:26)
|
->00.00% (0B) in 1+ places, all below ms_print's threshold (01.00%)
--------------------------------------------------------------------------------
n time(B) total(B) useful-heap(B) extra-heap(B) stacks(B)
--------------------------------------------------------------------------------
53 115,312 784 768 16 0
54 117,424 784 768 16 0
55 119,536 784 768 16 0
56 121,648 784 768 16 0
57 123,760 784 768 16 0
58 125,872 784 768 16 0
59 127,984 784 768 16 0
60 130,096 784 768 16 0
61 132,208 784 768 16 0
62 134,320 784 768 16 0
97.96% (768B) (heap allocation functions) malloc/new/new[], --alloc-fns, etc.
->65.31% (512B) 0x........: main (ignoring.c:17)
|
->32.65% (256B) 0x........: main (ignoring.c:26)
|
->00.00% (0B) in 1+ places, all below ms_print's threshold (01.00%)
--------------------------------------------------------------------------------
n time(B) total(B) useful-heap(B) extra-heap(B) stacks(B)
--------------------------------------------------------------------------------
63 136,432 784 768 16 0
64 138,544 784 768 16 0
65 140,656 784 768 16 0
66 142,768 784 768 16 0
67 144,880 784 768 16 0
68 146,992 784 768 16 0
69 149,104 784 768 16 0
70 151,216 784 768 16 0
71 153,328 784 768 16 0
72 155,440 784 768 16 0
97.96% (768B) (heap allocation functions) malloc/new/new[], --alloc-fns, etc.
->65.31% (512B) 0x........: main (ignoring.c:17)
|
->32.65% (256B) 0x........: main (ignoring.c:26)
|
->00.00% (0B) in 1+ places, all below ms_print's threshold (01.00%)
--------------------------------------------------------------------------------
n time(B) total(B) useful-heap(B) extra-heap(B) stacks(B)
--------------------------------------------------------------------------------
73 157,552 784 768 16 0
74 159,664 784 768 16 0
75 161,776 784 768 16 0
76 163,888 784 768 16 0
77 166,000 784 768 16 0
78 168,112 784 768 16 0
79 170,224 784 768 16 0
80 172,336 784 768 16 0
81 174,448 784 768 16 0
82 176,560 784 768 16 0
97.96% (768B) (heap allocation functions) malloc/new/new[], --alloc-fns, etc.
->65.31% (512B) 0x........: main (ignoring.c:17)
|
->32.65% (256B) 0x........: main (ignoring.c:26)
|
->00.00% (0B) in 1+ places, all below ms_print's threshold (01.00%)
--------------------------------------------------------------------------------
n time(B) total(B) useful-heap(B) extra-heap(B) stacks(B)
--------------------------------------------------------------------------------
83 178,672 784 768 16 0
84 180,784 784 768 16 0
85 182,896 784 768 16 0
86 185,008 784 768 16 0
87 187,120 784 768 16 0
@@ -0,0 +1,2 @@
@@ -0,0 +1,5 @@
prog: ignoring
vgopts: --stacks=no --time-unit=B --massif-out-file=massif.out
vgopts: --ignore-fn=__part_load_locale --ignore-fn=__time_load_locale --ignore-fn=dwarf2_unwind_dyld_add_image_hook --ignore-fn=get_or_create_key_element
post: perl ../../massif/ms_print massif.out | ../../tests/filter_addresses
cleanup: rm massif.out
@@ -0,0 +1,34 @@
#include <stdlib.h>
// In this test, the size of the insignificant nodes is greater than the
// size of two of the significant nodes. This is quite common in big
// programs, but not so common in small tests, so we test for it here.
int main(void)
{
malloc(16000); // all sizes are divisible by 16 -- no slop
malloc(240);
malloc(192);
malloc(16);
malloc(16);
malloc(16);
malloc(16);
malloc(16);
malloc(16);
malloc(16);
malloc(16);
malloc(16);
malloc(16);
malloc(16);
malloc(16);
malloc(16);
malloc(16);
malloc(16);
malloc(16);
malloc(16);
malloc(16);
malloc(16);
malloc(16);
return 0;
}
@@ -0,0 +1,85 @@
--------------------------------------------------------------------------------
Command: ./insig
Massif arguments: --stacks=no --time-unit=B --heap-admin=128 --massif-out-file=massif.out --threshold=0.99 --ignore-fn=__part_load_locale --ignore-fn=__time_load_locale --ignore-fn=dwarf2_unwind_dyld_add_image_hook --ignore-fn=get_or_create_key_element
ms_print arguments: massif.out
--------------------------------------------------------------------------------
KB
19.23^ :
| :@::
| ::::@::
| :::@::::@::
| ::::::@::::@::
| : ::::@::::@::
| : ::::@::::@::
| : ::::@::::@::
| : ::::@::::@::
| : ::::@::::@::
| : ::::@::::@::
| : ::::@::::@::
| : ::::@::::@::
| : ::::@::::@::
| : ::::@::::@::
| : ::::@::::@::
| : ::::@::::@::
| : ::::@::::@::
| : ::::@::::@::
| : ::::@::::@::
0 +----------------------------------------------------------------------->KB
0 19.23
Number of snapshots: 24
Detailed snapshots: [9, 19]
--------------------------------------------------------------------------------
n time(B) total(B) useful-heap(B) extra-heap(B) stacks(B)
--------------------------------------------------------------------------------
0 0 0 0 0 0
1 16,128 16,128 16,000 128 0
2 16,496 16,496 16,240 256 0
3 16,816 16,816 16,432 384 0
4 16,960 16,960 16,448 512 0
5 17,104 17,104 16,464 640 0
6 17,248 17,248 16,480 768 0
7 17,392 17,392 16,496 896 0
8 17,536 17,536 16,512 1,024 0
9 17,680 17,680 16,528 1,152 0
93.48% (16,528B) (heap allocation functions) malloc/new/new[], --alloc-fns, etc.
->90.50% (16,000B) 0x........: main (insig.c:8)
|
->01.36% (240B) 0x........: main (insig.c:9)
|
->01.09% (192B) 0x........: main (insig.c:10)
|
->00.54% (96B) in 1+ places, all below ms_print's threshold (01.00%)
--------------------------------------------------------------------------------
n time(B) total(B) useful-heap(B) extra-heap(B) stacks(B)
--------------------------------------------------------------------------------
10 17,824 17,824 16,544 1,280 0
11 17,968 17,968 16,560 1,408 0
12 18,112 18,112 16,576 1,536 0
13 18,256 18,256 16,592 1,664 0
14 18,400 18,400 16,608 1,792 0
15 18,544 18,544 16,624 1,920 0
16 18,688 18,688 16,640 2,048 0
17 18,832 18,832 16,656 2,176 0
18 18,976 18,976 16,672 2,304 0
19 19,120 19,120 16,688 2,432 0
87.28% (16,688B) (heap allocation functions) malloc/new/new[], --alloc-fns, etc.
->83.68% (16,000B) 0x........: main (insig.c:8)
|
->01.34% (256B) in 16 places, all below massif's threshold (0.99%)
|
->01.26% (240B) 0x........: main (insig.c:9)
|
->01.00% (192B) 0x........: main (insig.c:10)
--------------------------------------------------------------------------------
n time(B) total(B) useful-heap(B) extra-heap(B) stacks(B)
--------------------------------------------------------------------------------
20 19,264 19,264 16,704 2,560 0
21 19,408 19,408 16,720 2,688 0
22 19,552 19,552 16,736 2,816 0
23 19,696 19,696 16,752 2,944 0
@@ -0,0 +1,2 @@
@@ -0,0 +1,6 @@
# At one point, thresholds less than 1.0% were misprinted as 00.00%, so test that here.
prog: insig
vgopts: --stacks=no --time-unit=B --heap-admin=128 --massif-out-file=massif.out --threshold=0.99
vgopts: --ignore-fn=__part_load_locale --ignore-fn=__time_load_locale --ignore-fn=dwarf2_unwind_dyld_add_image_hook --ignore-fn=get_or_create_key_element
post: perl ../../massif/ms_print massif.out | ../../tests/filter_addresses
cleanup: rm massif.out
@@ -0,0 +1,71 @@
#include <stdio.h>
#include <stdlib.h>
// Long function name. Make sure it is not truncated.
#define A2500 \
abcdefghijABCDEFGHIJabcdefghijABCDEFGHIJabcdefghij\
abcdefghijABCDEFGHIJabcdefghijABCDEFGHIJabcdefghij\
abcdefghijABCDEFGHIJabcdefghijABCDEFGHIJabcdefghij\
abcdefghijABCDEFGHIJabcdefghijABCDEFGHIJabcdefghij\
abcdefghijABCDEFGHIJabcdefghijABCDEFGHIJabcdefghij\
abcdefghijABCDEFGHIJabcdefghijABCDEFGHIJabcdefghij\
abcdefghijABCDEFGHIJabcdefghijABCDEFGHIJabcdefghij\
abcdefghijABCDEFGHIJabcdefghijABCDEFGHIJabcdefghij\
abcdefghijABCDEFGHIJabcdefghijABCDEFGHIJabcdefghij\
abcdefghijABCDEFGHIJabcdefghijABCDEFGHIJabcdefghij\
abcdefghijABCDEFGHIJabcdefghijABCDEFGHIJabcdefghij\
abcdefghijABCDEFGHIJabcdefghijABCDEFGHIJabcdefghij\
abcdefghijABCDEFGHIJabcdefghijABCDEFGHIJabcdefghij\
abcdefghijABCDEFGHIJabcdefghijABCDEFGHIJabcdefghij\
abcdefghijABCDEFGHIJabcdefghijABCDEFGHIJabcdefghij\
abcdefghijABCDEFGHIJabcdefghijABCDEFGHIJabcdefghij\
abcdefghijABCDEFGHIJabcdefghijABCDEFGHIJabcdefghij\
abcdefghijABCDEFGHIJabcdefghijABCDEFGHIJabcdefghij\
abcdefghijABCDEFGHIJabcdefghijABCDEFGHIJabcdefghij\
abcdefghijABCDEFGHIJabcdefghijABCDEFGHIJabcdefghij\
abcdefghijABCDEFGHIJabcdefghijABCDEFGHIJabcdefghij\
abcdefghijABCDEFGHIJabcdefghijABCDEFGHIJabcdefghij\
abcdefghijABCDEFGHIJabcdefghijABCDEFGHIJabcdefghij\
abcdefghijABCDEFGHIJabcdefghijABCDEFGHIJabcdefghij\
abcdefghijABCDEFGHIJabcdefghijABCDEFGHIJabcdefghij\
abcdefghijABCDEFGHIJabcdefghijABCDEFGHIJabcdefghij\
abcdefghijABCDEFGHIJabcdefghijABCDEFGHIJabcdefghij\
abcdefghijABCDEFGHIJabcdefghijABCDEFGHIJabcdefghij\
abcdefghijABCDEFGHIJabcdefghijABCDEFGHIJabcdefghij\
abcdefghijABCDEFGHIJabcdefghijABCDEFGHIJabcdefghij\
abcdefghijABCDEFGHIJabcdefghijABCDEFGHIJabcdefghij\
abcdefghijABCDEFGHIJabcdefghijABCDEFGHIJabcdefghij\
abcdefghijABCDEFGHIJabcdefghijABCDEFGHIJabcdefghij\
abcdefghijABCDEFGHIJabcdefghijABCDEFGHIJabcdefghij\
abcdefghijABCDEFGHIJabcdefghijABCDEFGHIJabcdefghij\
abcdefghijABCDEFGHIJabcdefghijABCDEFGHIJabcdefghij\
abcdefghijABCDEFGHIJabcdefghijABCDEFGHIJabcdefghij\
abcdefghijABCDEFGHIJabcdefghijABCDEFGHIJabcdefghij\
abcdefghijABCDEFGHIJabcdefghijABCDEFGHIJabcdefghij\
abcdefghijABCDEFGHIJabcdefghijABCDEFGHIJabcdefghij\
abcdefghijABCDEFGHIJabcdefghijABCDEFGHIJabcdefghij\
abcdefghijABCDEFGHIJabcdefghijABCDEFGHIJabcdefghij\
abcdefghijABCDEFGHIJabcdefghijABCDEFGHIJabcdefghij\
abcdefghijABCDEFGHIJabcdefghijABCDEFGHIJabcdefghij\
abcdefghijABCDEFGHIJabcdefghijABCDEFGHIJabcdefghij\
abcdefghijABCDEFGHIJabcdefghijABCDEFGHIJabcdefghij\
abcdefghijABCDEFGHIJabcdefghijABCDEFGHIJabcdefghij\
abcdefghijABCDEFGHIJabcdefghijABCDEFGHIJabcdefghij\
abcdefghijABCDEFGHIJabcdefghijABCDEFGHIJabcdefghij\
abcdefghijABCDEFGHIJabcdefghijABCDEFGHIJabcdefghij
void A2500(int n)
{
if (n > 0) {
malloc(2000); // Divisible by 16 -- no slop.
A2500(n-1);
}
}
int main(void)
{
A2500(3);
return 0;
}
@@ -0,0 +1,51 @@
--------------------------------------------------------------------------------
Command: ./long-names
Massif arguments: --stacks=no --time-unit=B --heap-admin=0 --massif-out-file=massif.out --detailed-freq=3 --ignore-fn=__part_load_locale --ignore-fn=__time_load_locale --ignore-fn=dwarf2_unwind_dyld_add_image_hook --ignore-fn=get_or_create_key_element
ms_print arguments: massif.out
--------------------------------------------------------------------------------
KB
5.859^ :
| :
| :
| :
| :
| :
| :
| @@@@@@@@@@@@@@@@@@@@@@@:
| @ :
| @ :
| @ :
| @ :
| @ :
| @ :
| ::::::::::::::::::::::::@ :
| : @ :
| : @ :
| : @ :
| : @ :
| : @ :
0 +----------------------------------------------------------------------->KB
0 5.859
Number of snapshots: 4
Detailed snapshots: [2]
--------------------------------------------------------------------------------
n time(B) total(B) useful-heap(B) extra-heap(B) stacks(B)
--------------------------------------------------------------------------------
0 0 0 0 0 0
1 2,000 2,000 2,000 0 0
2 4,000 4,000 4,000 0 0
100.00% (4,000B) (heap allocation functions) malloc/new/new[], --alloc-fns, etc.
->100.00% (4,000B) 0x........: abcdefghijABCDEFGHIJabcdefghijABCDEFGHIJabcdefghijabcdefghijABCDEFGHIJabcdefghijABCDEFGHIJabcdefghijabcdefghijABCDEFGHIJabcdefghijABCDEFGHIJabcdefghijabcdefghijABCDEFGHIJabcdefghijABCDEFGHIJabcdefghijabcdefghijABCDEFGHIJabcdefghijABCDEFGHIJabcdefghijabcdefghijABCDEFGHIJabcdefghijABCDEFGHIJabcdefghijabcdefghijABCDEFGHIJabcdefghijABCDEFGHIJabcdefghijabcdefghijABCDEFGHIJabcdefghijABCDEFGHIJabcdefghijabcdefghijABCDEFGHIJabcdefghijABCDEFGHIJabcdefghijabcdefghijABCDEFGHIJabcdefghijABCDEFGHIJabcdefghijabcdefghijABCDEFGHIJabcdefghijABCDEFGHIJabcdefghijabcdefghijABCDEFGHIJabcdefghijABCDEFGHIJabcdefghijabcdefghijABCDEFGHIJabcdefghijABCDEFGHIJabcdefghijabcdefghijABCDEFGHIJabcdefghijABCDEFGHIJabcdefghijabcdefghijABCDEFGHIJabcdefghijABCDEFGHIJabcdefghijabcdefghijABCDEFGHIJabcdefghijABCDEFGHIJabcdefghijabcdefghijABCDEFGHIJabcdefghijABCDEFGHIJabcdefghijabcdefghijABCDEFGHIJabcdefghijABCDEFGHIJabcdefghijabcdefghijABCDEFGHIJabcdefghijABCDEFGHIJabcdefghijabcdefghijABCDEFGHIJabcdefghijABCDEFGHIJabcdefghijabcdefghijABCDEFGHIJabcdefghijABCDEFGHIJabcdefghijabcdefghijABCDEFGHIJabcdefghijABCDEFGHIJabcdefghijabcdefghijABCDEFGHIJabcdefghijABCDEFGHIJabcdefghijabcdefghijABCDEFGHIJabcdefghijABCDEFGHIJabcdefghijabcdefghijABCDEFGHIJabcdefghijABCDEFGHIJabcdefghijabcdefghijABCDEFGHIJabcdefghijABCDEFGHIJabcdefghijabcdefghijABCDEFGHIJabcdefghijABCDEFGHIJabcdefghijabcdefghijABCDEFGHIJabcdefghijABCDEFGHIJabcdefghijabcdefghijABCDEFGHIJabcdefghijABCDEFGHIJabcdefghijabcdefghijABCDEFGHIJabcdefghijABCDEFGHIJabcdefghijabcdefghijABCDEFGHIJabcdefghijABCDEFGHIJabcdefghijabcdefghijABCDEFGHIJabcdefghijABCDEFGHIJabcdefghijabcdefghijABCDEFGHIJabcdefghijABCDEFGHIJabcdefghijabcdefghijABCDEFGHIJabcdefghijABCDEFGHIJabcdefghijabcdefghijABCDEFGHIJabcdefghijABCDEFGHIJabcdefghijabcdefghijABCDEFGHIJabcdefghijABCDEFGHIJabcdefghijabcdefghijABCDEFGHIJabcdefghijABCDEFGHIJabcdefghijabcdefghijABCDEFGHIJabcdefghijABCDEFGHIJabcdefghijabcdefghijABCDEFGHIJabcdefghijABCDEFGHIJabcdefghijabcdefghijABCDEFGHIJabcdefghijABCDEFGHIJabcdefghijabcdefghijABCDEFGHIJabcdefghijABCDEFGHIJabcdefghijabcdefghijABCDEFGHIJabcdefghijABCDEFGHIJabcdefghijabcdefghijABCDEFGHIJabcdefghijABCDEFGHIJabcdefghijabcdefghijABCDEFGHIJabcdefghijABCDEFGHIJabcdefghijabcdefghijABCDEFGHIJabcdefghijABCDEFGHIJabcdefghijabcdefghijABCDEFGHIJabcdefghijABCDEFGHIJabcdefghijabcdefghijABCDEFGHIJabcdefghijABCDEFGHIJabcdefghijabcdefghijABCDEFGHIJabcdefghijABCDEFGHIJabcdefghijabcdefghijABCDEFGHIJabcdefghijABCDEFGHIJabcdefghijabcdefghijABCDEFGHIJabcdefghijABCDEFGHIJabcdefghij (long-names.c:61)
->50.00% (2,000B) 0x........: main (long-names.c:68)
|
->50.00% (2,000B) 0x........: abcdefghijABCDEFGHIJabcdefghijABCDEFGHIJabcdefghijabcdefghijABCDEFGHIJabcdefghijABCDEFGHIJabcdefghijabcdefghijABCDEFGHIJabcdefghijABCDEFGHIJabcdefghijabcdefghijABCDEFGHIJabcdefghijABCDEFGHIJabcdefghijabcdefghijABCDEFGHIJabcdefghijABCDEFGHIJabcdefghijabcdefghijABCDEFGHIJabcdefghijABCDEFGHIJabcdefghijabcdefghijABCDEFGHIJabcdefghijABCDEFGHIJabcdefghijabcdefghijABCDEFGHIJabcdefghijABCDEFGHIJabcdefghijabcdefghijABCDEFGHIJabcdefghijABCDEFGHIJabcdefghijabcdefghijABCDEFGHIJabcdefghijABCDEFGHIJabcdefghijabcdefghijABCDEFGHIJabcdefghijABCDEFGHIJabcdefghijabcdefghijABCDEFGHIJabcdefghijABCDEFGHIJabcdefghijabcdefghijABCDEFGHIJabcdefghijABCDEFGHIJabcdefghijabcdefghijABCDEFGHIJabcdefghijABCDEFGHIJabcdefghijabcdefghijABCDEFGHIJabcdefghijABCDEFGHIJabcdefghijabcdefghijABCDEFGHIJabcdefghijABCDEFGHIJabcdefghijabcdefghijABCDEFGHIJabcdefghijABCDEFGHIJabcdefghijabcdefghijABCDEFGHIJabcdefghijABCDEFGHIJabcdefghijabcdefghijABCDEFGHIJabcdefghijABCDEFGHIJabcdefghijabcdefghijABCDEFGHIJabcdefghijABCDEFGHIJabcdefghijabcdefghijABCDEFGHIJabcdefghijABCDEFGHIJabcdefghijabcdefghijABCDEFGHIJabcdefghijABCDEFGHIJabcdefghijabcdefghijABCDEFGHIJabcdefghijABCDEFGHIJabcdefghijabcdefghijABCDEFGHIJabcdefghijABCDEFGHIJabcdefghijabcdefghijABCDEFGHIJabcdefghijABCDEFGHIJabcdefghijabcdefghijABCDEFGHIJabcdefghijABCDEFGHIJabcdefghijabcdefghijABCDEFGHIJabcdefghijABCDEFGHIJabcdefghijabcdefghijABCDEFGHIJabcdefghijABCDEFGHIJabcdefghijabcdefghijABCDEFGHIJabcdefghijABCDEFGHIJabcdefghijabcdefghijABCDEFGHIJabcdefghijABCDEFGHIJabcdefghijabcdefghijABCDEFGHIJabcdefghijABCDEFGHIJabcdefghijabcdefghijABCDEFGHIJabcdefghijABCDEFGHIJabcdefghijabcdefghijABCDEFGHIJabcdefghijABCDEFGHIJabcdefghijabcdefghijABCDEFGHIJabcdefghijABCDEFGHIJabcdefghijabcdefghijABCDEFGHIJabcdefghijABCDEFGHIJabcdefghijabcdefghijABCDEFGHIJabcdefghijABCDEFGHIJabcdefghijabcdefghijABCDEFGHIJabcdefghijABCDEFGHIJabcdefghijabcdefghijABCDEFGHIJabcdefghijABCDEFGHIJabcdefghijabcdefghijABCDEFGHIJabcdefghijABCDEFGHIJabcdefghijabcdefghijABCDEFGHIJabcdefghijABCDEFGHIJabcdefghijabcdefghijABCDEFGHIJabcdefghijABCDEFGHIJabcdefghijabcdefghijABCDEFGHIJabcdefghijABCDEFGHIJabcdefghijabcdefghijABCDEFGHIJabcdefghijABCDEFGHIJabcdefghijabcdefghijABCDEFGHIJabcdefghijABCDEFGHIJabcdefghijabcdefghijABCDEFGHIJabcdefghijABCDEFGHIJabcdefghijabcdefghijABCDEFGHIJabcdefghijABCDEFGHIJabcdefghijabcdefghijABCDEFGHIJabcdefghijABCDEFGHIJabcdefghijabcdefghijABCDEFGHIJabcdefghijABCDEFGHIJabcdefghijabcdefghijABCDEFGHIJabcdefghijABCDEFGHIJabcdefghijabcdefghijABCDEFGHIJabcdefghijABCDEFGHIJabcdefghij (long-names.c:62)
->50.00% (2,000B) 0x........: main (long-names.c:68)
--------------------------------------------------------------------------------
n time(B) total(B) useful-heap(B) extra-heap(B) stacks(B)
--------------------------------------------------------------------------------
3 6,000 6,000 6,000 0 0
@@ -0,0 +1,5 @@
prog: long-names
vgopts: --stacks=no --time-unit=B --heap-admin=0 --massif-out-file=massif.out --detailed-freq=3
vgopts: --ignore-fn=__part_load_locale --ignore-fn=__time_load_locale --ignore-fn=dwarf2_unwind_dyld_add_image_hook --ignore-fn=get_or_create_key_element
post: perl ../../massif/ms_print massif.out | ../../tests/filter_addresses
cleanup: rm massif.out
@@ -0,0 +1,22 @@
// This test does enough allocation and deallocation that the time-unit,
// when measured in bytes -- 6,000,000,000 -- exceeds 32-bits. It also does
// it in a slightly uneven fashion so we get a range of different totals
// for the snapshots, including a zero-sized detailed snapshot.
#include <stdlib.h>
int main(void)
{
int i, *x1, *x2, *x3, *x4;
for (i = 0; i < 1500; i++) {
x1 = malloc( 800 * 1000);
x2 = malloc(1100 * 1000);
free(x1);
x3 = malloc(1200 * 1000);
free(x2);
free(x3);
x4 = malloc( 900 * 1000);
free(x4);
}
return 0;
}
@@ -0,0 +1,219 @@
--------------------------------------------------------------------------------
Command: ./long-time
Massif arguments: --stacks=no --time-unit=B --heap-admin=0 --massif-out-file=massif.out --ignore-fn=__part_load_locale --ignore-fn=__time_load_locale --ignore-fn=dwarf2_unwind_dyld_add_image_hook --ignore-fn=get_or_create_key_element
ms_print arguments: massif.out
--------------------------------------------------------------------------------
MB
2.193^#: : : : @ : :
|#: : : : @ : :
|#: : : : @ : :
|#: : : : @ : :
|#: :: :: :: @: :@ :
|#: :: :: :: @: :@ :
|#: :: :: :: @: :@ :
|#: :: :: :: @: :@ :
|#: :: :: :: @: :@ :
|#: :: :: :: @: :@ :
|#: :: :: :: @: :@ : : : : : : : : : : : : :
|#: :: :: :: @: :@ : :: :: :: :: :@ :: :: :: :: :@ :: :
|#: :: :: :: @: :@ : :: :: :: :: :@ :: :: :: :: :@ :: :
|#::::@:::::::::::::::: :: :: @: :@ : :::::@::::: :@ :: :: @: :: :@ :: :
|#::::@:::::::::::::::: :: :: @: :@ : :::::@:::::::@:::::::@::::::@:::::
|#::::@:::::::::::::::: :: :: @: :@ : :::::@:::::::@:::::::@::::::@:::::
|#::::@:::::::::::::::: :: :: @: :@ : :::::@:::::::@:::::::@::::::@:::::
|#::::@:::::::::::::::: :: :: @: :@ : :::::@:::::::@:::::::@::::::@:::::
|#::::@:::::::::::::::: :: :: @: :@ : :::::@:::::::@:::::::@::::::@:::::
|#::::@:::::::::::::::: :: :: @: :@ : :::::@:::::::@:::::::@::::::@:::::
0 +----------------------------------------------------------------------->GB
0 11.15
Number of snapshots: 94
Detailed snapshots: [1 (peak), 7, 28, 33, 38, 43, 48, 56, 66, 76, 86]
--------------------------------------------------------------------------------
n time(B) total(B) useful-heap(B) extra-heap(B) stacks(B)
--------------------------------------------------------------------------------
0 0 0 0 0 0
1 3,900,000 2,300,000 2,300,000 0 0
100.00% (2,300,000B) (heap allocation functions) malloc/new/new[], --alloc-fns, etc.
->52.17% (1,200,000B) 0x........: main (long-time.c:15)
|
->47.83% (1,100,000B) 0x........: main (long-time.c:13)
|
->00.00% (0B) in 1+ places, all below ms_print's threshold (01.00%)
--------------------------------------------------------------------------------
n time(B) total(B) useful-heap(B) extra-heap(B) stacks(B)
--------------------------------------------------------------------------------
2 227,900,000 2,300,000 2,300,000 0 0
3 383,100,000 900,000 900,000 0 0
4 607,100,000 900,000 900,000 0 0
5 735,100,000 900,000 900,000 0 0
6 863,100,000 900,000 900,000 0 0
7 991,100,000 900,000 900,000 0 0
100.00% (900,000B) (heap allocation functions) malloc/new/new[], --alloc-fns, etc.
->100.00% (900,000B) 0x........: main (long-time.c:18)
|
->00.00% (0B) in 1+ places, all below ms_print's threshold (01.00%)
--------------------------------------------------------------------------------
n time(B) total(B) useful-heap(B) extra-heap(B) stacks(B)
--------------------------------------------------------------------------------
8 1,119,100,000 900,000 900,000 0 0
9 1,247,100,000 900,000 900,000 0 0
10 1,375,100,000 900,000 900,000 0 0
11 1,503,100,000 900,000 900,000 0 0
12 1,679,100,000 900,000 900,000 0 0
13 1,807,100,000 900,000 900,000 0 0
14 1,935,100,000 900,000 900,000 0 0
15 2,063,100,000 900,000 900,000 0 0
16 2,191,100,000 900,000 900,000 0 0
17 2,319,100,000 900,000 900,000 0 0
18 2,447,100,000 900,000 900,000 0 0
19 2,575,100,000 900,000 900,000 0 0
20 2,703,100,000 900,000 900,000 0 0
21 2,831,100,000 900,000 900,000 0 0
22 2,959,100,000 900,000 900,000 0 0
23 3,087,100,000 900,000 900,000 0 0
24 3,215,100,000 900,000 900,000 0 0
25 3,342,200,000 0 0 0 0
26 3,467,900,000 2,300,000 2,300,000 0 0
27 3,593,900,000 1,900,000 1,900,000 0 0
28 3,720,000,000 0 0 0 0
00.00% (0B) (heap allocation functions) malloc/new/new[], --alloc-fns, etc.
->00.00% (0B) in 1+ places, all below ms_print's threshold (01.00%)
--------------------------------------------------------------------------------
n time(B) total(B) useful-heap(B) extra-heap(B) stacks(B)
--------------------------------------------------------------------------------
29 3,846,200,000 0 0 0 0
30 3,971,900,000 2,300,000 2,300,000 0 0
31 4,097,900,000 1,900,000 1,900,000 0 0
32 4,224,000,000 0 0 0 0
33 4,350,200,000 0 0 0 0
00.00% (0B) (heap allocation functions) malloc/new/new[], --alloc-fns, etc.
->00.00% (0B) in 1+ places, all below ms_print's threshold (01.00%)
--------------------------------------------------------------------------------
n time(B) total(B) useful-heap(B) extra-heap(B) stacks(B)
--------------------------------------------------------------------------------
34 4,475,900,000 2,300,000 2,300,000 0 0
35 4,601,900,000 1,900,000 1,900,000 0 0
36 4,728,000,000 0 0 0 0
37 4,854,200,000 0 0 0 0
38 4,979,900,000 2,300,000 2,300,000 0 0
100.00% (2,300,000B) (heap allocation functions) malloc/new/new[], --alloc-fns, etc.
->52.17% (1,200,000B) 0x........: main (long-time.c:15)
|
->47.83% (1,100,000B) 0x........: main (long-time.c:13)
|
->00.00% (0B) in 1+ places, all below ms_print's threshold (01.00%)
--------------------------------------------------------------------------------
n time(B) total(B) useful-heap(B) extra-heap(B) stacks(B)
--------------------------------------------------------------------------------
39 5,105,900,000 1,900,000 1,900,000 0 0
40 5,232,000,000 0 0 0 0
41 5,358,200,000 0 0 0 0
42 5,483,900,000 2,300,000 2,300,000 0 0
43 5,609,900,000 1,900,000 1,900,000 0 0
100.00% (1,900,000B) (heap allocation functions) malloc/new/new[], --alloc-fns, etc.
->57.89% (1,100,000B) 0x........: main (long-time.c:13)
|
->42.11% (800,000B) 0x........: main (long-time.c:12)
|
->00.00% (0B) in 1+ places, all below ms_print's threshold (01.00%)
--------------------------------------------------------------------------------
n time(B) total(B) useful-heap(B) extra-heap(B) stacks(B)
--------------------------------------------------------------------------------
44 5,736,000,000 0 0 0 0
45 5,862,200,000 0 0 0 0
46 5,987,900,000 2,300,000 2,300,000 0 0
47 6,113,900,000 1,900,000 1,900,000 0 0
48 6,240,000,000 0 0 0 0
00.00% (0B) (heap allocation functions) malloc/new/new[], --alloc-fns, etc.
->00.00% (0B) in 1+ places, all below ms_print's threshold (01.00%)
--------------------------------------------------------------------------------
n time(B) total(B) useful-heap(B) extra-heap(B) stacks(B)
--------------------------------------------------------------------------------
49 6,429,000,000 1,200,000 1,200,000 0 0
50 6,554,700,000 1,100,000 1,100,000 0 0
51 6,680,800,000 800,000 800,000 0 0
52 6,807,100,000 900,000 900,000 0 0
53 6,933,000,000 1,200,000 1,200,000 0 0
54 7,058,700,000 1,100,000 1,100,000 0 0
55 7,184,800,000 800,000 800,000 0 0
56 7,311,100,000 900,000 900,000 0 0
100.00% (900,000B) (heap allocation functions) malloc/new/new[], --alloc-fns, etc.
->100.00% (900,000B) 0x........: main (long-time.c:18)
|
->00.00% (0B) in 1+ places, all below ms_print's threshold (01.00%)
--------------------------------------------------------------------------------
n time(B) total(B) useful-heap(B) extra-heap(B) stacks(B)
--------------------------------------------------------------------------------
57 7,437,000,000 1,200,000 1,200,000 0 0
58 7,562,700,000 1,100,000 1,100,000 0 0
59 7,688,800,000 800,000 800,000 0 0
60 7,815,100,000 900,000 900,000 0 0
61 7,941,000,000 1,200,000 1,200,000 0 0
62 8,066,700,000 1,100,000 1,100,000 0 0
63 8,192,800,000 800,000 800,000 0 0
64 8,319,100,000 900,000 900,000 0 0
65 8,445,000,000 1,200,000 1,200,000 0 0
66 8,570,700,000 1,100,000 1,100,000 0 0
100.00% (1,100,000B) (heap allocation functions) malloc/new/new[], --alloc-fns, etc.
->100.00% (1,100,000B) 0x........: main (long-time.c:13)
|
->00.00% (0B) in 1+ places, all below ms_print's threshold (01.00%)
--------------------------------------------------------------------------------
n time(B) total(B) useful-heap(B) extra-heap(B) stacks(B)
--------------------------------------------------------------------------------
67 8,696,800,000 800,000 800,000 0 0
68 8,823,100,000 900,000 900,000 0 0
69 8,949,000,000 1,200,000 1,200,000 0 0
70 9,074,700,000 1,100,000 1,100,000 0 0
71 9,200,800,000 800,000 800,000 0 0
72 9,327,100,000 900,000 900,000 0 0
73 9,453,000,000 1,200,000 1,200,000 0 0
74 9,578,700,000 1,100,000 1,100,000 0 0
75 9,704,800,000 800,000 800,000 0 0
76 9,831,100,000 900,000 900,000 0 0
100.00% (900,000B) (heap allocation functions) malloc/new/new[], --alloc-fns, etc.
->100.00% (900,000B) 0x........: main (long-time.c:18)
|
->00.00% (0B) in 1+ places, all below ms_print's threshold (01.00%)
--------------------------------------------------------------------------------
n time(B) total(B) useful-heap(B) extra-heap(B) stacks(B)
--------------------------------------------------------------------------------
77 9,957,000,000 1,200,000 1,200,000 0 0
78 10,082,700,000 1,100,000 1,100,000 0 0
79 10,208,800,000 800,000 800,000 0 0
80 10,335,100,000 900,000 900,000 0 0
81 10,461,000,000 1,200,000 1,200,000 0 0
82 10,586,700,000 1,100,000 1,100,000 0 0
83 10,712,800,000 800,000 800,000 0 0
84 10,839,100,000 900,000 900,000 0 0
85 10,965,000,000 1,200,000 1,200,000 0 0
86 11,090,700,000 1,100,000 1,100,000 0 0
100.00% (1,100,000B) (heap allocation functions) malloc/new/new[], --alloc-fns, etc.
->100.00% (1,100,000B) 0x........: main (long-time.c:13)
|
->00.00% (0B) in 1+ places, all below ms_print's threshold (01.00%)
--------------------------------------------------------------------------------
n time(B) total(B) useful-heap(B) extra-heap(B) stacks(B)
--------------------------------------------------------------------------------
87 11,216,800,000 800,000 800,000 0 0
88 11,343,100,000 900,000 900,000 0 0
89 11,469,000,000 1,200,000 1,200,000 0 0
90 11,594,700,000 1,100,000 1,100,000 0 0
91 11,720,800,000 800,000 800,000 0 0
92 11,847,100,000 900,000 900,000 0 0
93 11,973,000,000 1,200,000 1,200,000 0 0
@@ -0,0 +1,5 @@
prog: long-time
vgopts: --stacks=no --time-unit=B --heap-admin=0 --massif-out-file=massif.out
vgopts: --ignore-fn=__part_load_locale --ignore-fn=__time_load_locale --ignore-fn=dwarf2_unwind_dyld_add_image_hook --ignore-fn=get_or_create_key_element
post: perl ../../massif/ms_print massif.out | ../../tests/filter_addresses
cleanup: rm massif.out
@@ -0,0 +1,21 @@
#include <assert.h>
#include "tests/malloc.h"
#include <stdlib.h>
#include <stdio.h>
int main(void)
{
# if !defined(VGO_darwin) && !defined(VGO_solaris)
// Because our allocations are in multiples of 8 or 16, 99 will round up
// to 104 or 112.
int* x = malloc(99);
// XXX: would be better to have a HAVE_MALLOC_USABLE_SIZE variable here
assert(104 == malloc_usable_size(x) ||
112 == malloc_usable_size(x));
assert( 0 == malloc_usable_size(NULL));
assert( 0 == malloc_usable_size((void*)0xdeadbeef));
# endif
return 0;
}
@@ -0,0 +1,3 @@
prog: malloc_usable
vgopts: -q --massif-out-file=massif.out
cleanup: rm massif.out
@@ -0,0 +1,30 @@
// operator new(unsigned)
// operator new[](unsigned)
// operator new(unsigned, std::nothrow_t const&)
// operator new[](unsigned, std::nothrow_t const&)
#include <stdlib.h>
#include <new>
using std::nothrow_t;
// A big structure. Its details don't matter.
typedef struct {
int array[1000];
} s;
int main(void)
{
s* p1 = new s;
s* p2 = new (std::nothrow) s;
char* c1 = new char[2000];
char* c2 = new (std::nothrow) char[2000];
delete p1;
delete p2;
delete [] c1;
delete [] c2;
return 0;
}
@@ -0,0 +1,59 @@
--------------------------------------------------------------------------------
Command: ./new-cpp
Massif arguments: --stacks=no --time-unit=B --massif-out-file=massif.out --ignore-fn=__part_load_locale --ignore-fn=__time_load_locale --ignore-fn=dwarf2_unwind_dyld_add_image_hook --ignore-fn=get_or_create_key_element
ms_print arguments: massif.out
--------------------------------------------------------------------------------
KB
11.75^ ###########
| #
| #
| #
| :::::::#
| : #
| : #
| ::::::: # ::::::::::::
| : : # :
| : : # :
| : : # :
| : : # :
| : : # :
| : : # :
| ::::::::::::: : # : ::::::
| : : : # : :
| : : : # : :
| : : : # : : ::::::
| : : : # : : :
| : : : # : : :
0 +----------------------------------------------------------------------->KB
0 23.50
Number of snapshots: 10
Detailed snapshots: [5 (peak)]
--------------------------------------------------------------------------------
n time(B) total(B) useful-heap(B) extra-heap(B) stacks(B)
--------------------------------------------------------------------------------
0 0 0 0 0 0
1 4,008 4,008 4,000 8 0
2 8,016 8,016 8,000 16 0
3 10,024 10,024 10,000 24 0
4 12,032 12,032 12,000 32 0
5 12,032 12,032 12,000 32 0
99.73% (12,000B) (heap allocation functions) malloc/new/new[], --alloc-fns, etc.
->33.24% (4,000B) 0x........: main (new-cpp.cpp:19)
|
->33.24% (4,000B) 0x........: main (new-cpp.cpp:20)
|
->16.62% (2,000B) 0x........: main (new-cpp.cpp:21)
|
->16.62% (2,000B) 0x........: main (new-cpp.cpp:22)
--------------------------------------------------------------------------------
n time(B) total(B) useful-heap(B) extra-heap(B) stacks(B)
--------------------------------------------------------------------------------
6 16,040 8,024 8,000 24 0
7 20,048 4,016 4,000 16 0
8 22,056 2,008 2,000 8 0
9 24,064 0 0 0 0
@@ -0,0 +1,2 @@
@@ -0,0 +1,5 @@
prog: new-cpp
vgopts: --stacks=no --time-unit=B --massif-out-file=massif.out
vgopts: --ignore-fn=__part_load_locale --ignore-fn=__time_load_locale --ignore-fn=dwarf2_unwind_dyld_add_image_hook --ignore-fn=get_or_create_key_element
post: perl ../../massif/ms_print massif.out | ../../tests/filter_addresses
cleanup: rm massif.out
@@ -0,0 +1,38 @@
--------------------------------------------------------------------------------
Command: ./basic
Massif arguments: --stacks=no --heap=no --time-unit=B --massif-out-file=massif.out --ignore-fn=__part_load_locale --ignore-fn=__time_load_locale --ignore-fn=dwarf2_unwind_dyld_add_image_hook --ignore-fn=get_or_create_key_element
ms_print arguments: massif.out
--------------------------------------------------------------------------------
B
1^
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
0 +----------------------------------------------------------------------->B
0 1
Number of snapshots: 1
Detailed snapshots: []
--------------------------------------------------------------------------------
n time(B) total(B) useful-heap(B) extra-heap(B) stacks(B)
--------------------------------------------------------------------------------
0 0 0 0 0 0

Some files were not shown because too many files have changed in this diff Show More