]>
Commit | Line | Data |
---|---|---|
7c673cae FG |
1 | Flat profile: |
2 | ||
3 | Each sample counts as 0.01 seconds. | |
4 | % cumulative self self total | |
5 | time seconds seconds calls Ts/call Ts/call name | |
6 | 100.00 0.01 0.01 __gnu_cxx::__atomic_add(int volatile*, int) | |
7 | 0.00 0.01 0.00 51 0.00 0.00 boost::archive::iterators::transform_width<char*, 6, 8, char>::fill() | |
8 | 0.00 0.01 0.00 36 0.00 0.00 boost::archive::iterators::transform_width<__gnu_cxx::__normal_iterator<char*, std::vector<char, std::allocator<char> > >, 8, 6, char>::fill() | |
9 | 0.00 0.01 0.00 30 0.00 0.00 std::vector<char, std::allocator<char> >::_M_insert_aux(__gnu_cxx::__normal_iterator<char*, std::vector<char, std::allocator<char> > >, char const&) | |
10 | 0.00 0.01 0.00 11 0.00 0.00 boost::archive::iterators::xml_escape<char const*>::fill(char const*&, char const*&) | |
11 | 0.00 0.01 0.00 9 0.00 0.00 void test_transform_width<6, 8>(unsigned int) | |
12 | 0.00 0.01 0.00 9 0.00 0.00 boost::archive::iterators::xml_unescape<char const*>::drain() | |
13 | 0.00 0.01 0.00 5 0.00 0.00 boost::archive::iterators::xml_unescape<char const*>::drain_residue(char const*) | |
14 | 0.00 0.01 0.00 2 0.00 0.00 __static_initialization_and_destruction_0(int, int) | |
15 | 0.00 0.01 0.00 1 0.00 0.00 void test_xml_escape<char const>(char const*, char const*, unsigned int) | |
16 | 0.00 0.01 0.00 1 0.00 0.00 void test_xml_unescape<char const>(char const*, char const*, unsigned int) | |
17 | 0.00 0.01 0.00 1 0.00 0.00 void test_stream_iterators<char>(char const*, unsigned int) | |
18 | 0.00 0.01 0.00 1 0.00 0.00 test_main(int, char**) | |
19 | 0.00 0.01 0.00 1 0.00 0.00 char* std::string::_S_construct<char*>(char*, char*, std::allocator<char> const&, std::forward_iterator_tag) | |
20 | 0.00 0.01 0.00 1 0.00 0.00 std::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string<char*>(char*, char*, std::allocator<char> const&) | |
21 | ||
22 | % the percentage of the total running time of the | |
23 | time program used by this function. | |
24 | ||
25 | cumulative a running sum of the number of seconds accounted | |
26 | seconds for by this function and those listed above it. | |
27 | ||
28 | self the number of seconds accounted for by this | |
29 | seconds function alone. This is the major sort for this | |
30 | listing. | |
31 | ||
32 | calls the number of times this function was invoked, if | |
33 | this function is profiled, else blank. | |
34 | ||
35 | self the average number of milliseconds spent in this | |
36 | ms/call function per call, if this function is profiled, | |
37 | else blank. | |
38 | ||
39 | total the average number of milliseconds spent in this | |
40 | ms/call function and its descendents per call, if this | |
41 | function is profiled, else blank. | |
42 | ||
43 | name the name of the function. This is the minor sort | |
44 | for this listing. The index shows the location of | |
45 | the function in the gprof listing. If the index is | |
46 | in parenthesis it shows where it would appear in | |
47 | the gprof listing if it were to be printed. | |
48 | \f | |
49 | Call graph (explanation follows) | |
50 | ||
51 | ||
52 | granularity: each sample hit covers 4 byte(s) for 100.00% of 0.01 seconds | |
53 | ||
54 | index % time self children called name | |
55 | <spontaneous> | |
56 | [1] 100.0 0.01 0.00 __gnu_cxx::__atomic_add(int volatile*, int) [1] | |
57 | ----------------------------------------------- | |
58 | 0.00 0.00 51/51 void test_transform_width<6, 8>(unsigned int) [9] | |
59 | [5] 0.0 0.00 0.00 51 boost::archive::iterators::transform_width<char*, 6, 8, char>::fill() [5] | |
60 | ----------------------------------------------- | |
61 | 0.00 0.00 36/36 void test_transform_width<6, 8>(unsigned int) [9] | |
62 | [6] 0.0 0.00 0.00 36 boost::archive::iterators::transform_width<__gnu_cxx::__normal_iterator<char*, std::vector<char, std::allocator<char> > >, 8, 6, char>::fill() [6] | |
63 | ----------------------------------------------- | |
64 | 0.00 0.00 30/30 void test_transform_width<6, 8>(unsigned int) [9] | |
65 | [7] 0.0 0.00 0.00 30 std::vector<char, std::allocator<char> >::_M_insert_aux(__gnu_cxx::__normal_iterator<char*, std::vector<char, std::allocator<char> > >, char const&) [7] | |
66 | ----------------------------------------------- | |
67 | 0.00 0.00 11/11 void test_xml_escape<char const>(char const*, char const*, unsigned int) [13] | |
68 | [8] 0.0 0.00 0.00 11 boost::archive::iterators::xml_escape<char const*>::fill(char const*&, char const*&) [8] | |
69 | ----------------------------------------------- | |
70 | 0.00 0.00 9/9 test_main(int, char**) [16] | |
71 | [9] 0.0 0.00 0.00 9 void test_transform_width<6, 8>(unsigned int) [9] | |
72 | 0.00 0.00 51/51 boost::archive::iterators::transform_width<char*, 6, 8, char>::fill() [5] | |
73 | 0.00 0.00 36/36 boost::archive::iterators::transform_width<__gnu_cxx::__normal_iterator<char*, std::vector<char, std::allocator<char> > >, 8, 6, char>::fill() [6] | |
74 | 0.00 0.00 30/30 std::vector<char, std::allocator<char> >::_M_insert_aux(__gnu_cxx::__normal_iterator<char*, std::vector<char, std::allocator<char> > >, char const&) [7] | |
75 | ----------------------------------------------- | |
76 | 0.00 0.00 9/9 void test_xml_unescape<char const>(char const*, char const*, unsigned int) [14] | |
77 | [10] 0.0 0.00 0.00 9 boost::archive::iterators::xml_unescape<char const*>::drain() [10] | |
78 | 0.00 0.00 5/5 boost::archive::iterators::xml_unescape<char const*>::drain_residue(char const*) [11] | |
79 | ----------------------------------------------- | |
80 | 0.00 0.00 5/5 boost::archive::iterators::xml_unescape<char const*>::drain() [10] | |
81 | [11] 0.0 0.00 0.00 5 boost::archive::iterators::xml_unescape<char const*>::drain_residue(char const*) [11] | |
82 | ----------------------------------------------- | |
83 | 0.00 0.00 1/2 global constructors keyed to main [38] | |
84 | 0.00 0.00 1/2 global destructors keyed to main [35] | |
85 | [12] 0.0 0.00 0.00 2 __static_initialization_and_destruction_0(int, int) [12] | |
86 | ----------------------------------------------- | |
87 | 0.00 0.00 1/1 test_main(int, char**) [16] | |
88 | [13] 0.0 0.00 0.00 1 void test_xml_escape<char const>(char const*, char const*, unsigned int) [13] | |
89 | 0.00 0.00 11/11 boost::archive::iterators::xml_escape<char const*>::fill(char const*&, char const*&) [8] | |
90 | ----------------------------------------------- | |
91 | 0.00 0.00 1/1 test_main(int, char**) [16] | |
92 | [14] 0.0 0.00 0.00 1 void test_xml_unescape<char const>(char const*, char const*, unsigned int) [14] | |
93 | 0.00 0.00 9/9 boost::archive::iterators::xml_unescape<char const*>::drain() [10] | |
94 | ----------------------------------------------- | |
95 | 0.00 0.00 1/1 test_main(int, char**) [16] | |
96 | [15] 0.0 0.00 0.00 1 void test_stream_iterators<char>(char const*, unsigned int) [15] | |
97 | 0.00 0.00 1/1 std::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string<char*>(char*, char*, std::allocator<char> const&) [18] | |
98 | ----------------------------------------------- | |
99 | 0.00 0.00 1/1 main [1211] | |
100 | [16] 0.0 0.00 0.00 1 test_main(int, char**) [16] | |
101 | 0.00 0.00 9/9 void test_transform_width<6, 8>(unsigned int) [9] | |
102 | 0.00 0.00 1/1 void test_xml_escape<char const>(char const*, char const*, unsigned int) [13] | |
103 | 0.00 0.00 1/1 void test_xml_unescape<char const>(char const*, char const*, unsigned int) [14] | |
104 | 0.00 0.00 1/1 void test_stream_iterators<char>(char const*, unsigned int) [15] | |
105 | ----------------------------------------------- | |
106 | 0.00 0.00 1/1 std::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string<char*>(char*, char*, std::allocator<char> const&) [18] | |
107 | [17] 0.0 0.00 0.00 1 char* std::string::_S_construct<char*>(char*, char*, std::allocator<char> const&, std::forward_iterator_tag) [17] | |
108 | ----------------------------------------------- | |
109 | 0.00 0.00 1/1 void test_stream_iterators<char>(char const*, unsigned int) [15] | |
110 | [18] 0.0 0.00 0.00 1 std::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string<char*>(char*, char*, std::allocator<char> const&) [18] | |
111 | 0.00 0.00 1/1 char* std::string::_S_construct<char*>(char*, char*, std::allocator<char> const&, std::forward_iterator_tag) [17] | |
112 | ----------------------------------------------- | |
113 | ||
114 | This table describes the call tree of the program, and was sorted by | |
115 | the total amount of time spent in each function and its children. | |
116 | ||
117 | Each entry in this table consists of several lines. The line with the | |
118 | index number at the left hand margin lists the current function. | |
119 | The lines above it list the functions that called this function, | |
120 | and the lines below it list the functions this one called. | |
121 | This line lists: | |
122 | index A unique number given to each element of the table. | |
123 | Index numbers are sorted numerically. | |
124 | The index number is printed next to every function name so | |
125 | it is easier to look up where the function in the table. | |
126 | ||
127 | % time This is the percentage of the `total' time that was spent | |
128 | in this function and its children. Note that due to | |
129 | different viewpoints, functions excluded by options, etc, | |
130 | these numbers will NOT add up to 100%. | |
131 | ||
132 | self This is the total amount of time spent in this function. | |
133 | ||
134 | children This is the total amount of time propagated into this | |
135 | function by its children. | |
136 | ||
137 | called This is the number of times the function was called. | |
138 | If the function called itself recursively, the number | |
139 | only includes non-recursive calls, and is followed by | |
140 | a `+' and the number of recursive calls. | |
141 | ||
142 | name The name of the current function. The index number is | |
143 | printed after it. If the function is a member of a | |
144 | cycle, the cycle number is printed between the | |
145 | function's name and the index number. | |
146 | ||
147 | ||
148 | For the function's parents, the fields have the following meanings: | |
149 | ||
150 | self This is the amount of time that was propagated directly | |
151 | from the function into this parent. | |
152 | ||
153 | children This is the amount of time that was propagated from | |
154 | the function's children into this parent. | |
155 | ||
156 | called This is the number of times this parent called the | |
157 | function `/' the total number of times the function | |
158 | was called. Recursive calls to the function are not | |
159 | included in the number after the `/'. | |
160 | ||
161 | name This is the name of the parent. The parent's index | |
162 | number is printed after it. If the parent is a | |
163 | member of a cycle, the cycle number is printed between | |
164 | the name and the index number. | |
165 | ||
166 | If the parents of the function cannot be determined, the word | |
167 | `<spontaneous>' is printed in the `name' field, and all the other | |
168 | fields are blank. | |
169 | ||
170 | For the function's children, the fields have the following meanings: | |
171 | ||
172 | self This is the amount of time that was propagated directly | |
173 | from the child into the function. | |
174 | ||
175 | children This is the amount of time that was propagated from the | |
176 | child's children to the function. | |
177 | ||
178 | called This is the number of times the function called | |
179 | this child `/' the total number of times the child | |
180 | was called. Recursive calls by the child are not | |
181 | listed in the number after the `/'. | |
182 | ||
183 | name This is the name of the child. The child's index | |
184 | number is printed after it. If the child is a | |
185 | member of a cycle, the cycle number is printed | |
186 | between the name and the index number. | |
187 | ||
188 | If there are any cycles (circles) in the call graph, there is an | |
189 | entry for the cycle-as-a-whole. This entry shows who called the | |
190 | cycle (as parents) and the members of the cycle (as children.) | |
191 | The `+' recursive calls entry shows the number of function calls that | |
192 | were internal to the cycle, and the calls entry for each member shows, | |
193 | for that member, how many times it was called from other members of | |
194 | the cycle. | |
195 | ||
196 | \f | |
197 | Index by function name | |
198 | ||
199 | [13] void test_xml_escape<char const>(char const*, char const*, unsigned int) [16] test_main(int, char**) [5] boost::archive::iterators::transform_width<char*, 6, 8, char>::fill() | |
200 | [14] void test_xml_unescape<char const>(char const*, char const*, unsigned int) [8] boost::archive::iterators::xml_escape<char const*>::fill(char const*&, char const*&) [1] __gnu_cxx::__atomic_add(int volatile*, int) | |
201 | [9] void test_transform_width<6, 8>(unsigned int) [11] boost::archive::iterators::xml_unescape<char const*>::drain_residue(char const*) [17] char* std::string::_S_construct<char*>(char*, char*, std::allocator<char> const&, std::forward_iterator_tag) | |
202 | [15] void test_stream_iterators<char>(char const*, unsigned int) [10] boost::archive::iterators::xml_unescape<char const*>::drain() [18] std::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string<char*>(char*, char*, std::allocator<char> const&) | |
203 | [12] __static_initialization_and_destruction_0(int, int) (performance_iterators.cpp) [6] boost::archive::iterators::transform_width<__gnu_cxx::__normal_iterator<char*, std::vector<char, std::allocator<char> > >, 8, 6, char>::fill() [7] std::vector<char, std::allocator<char> >::_M_insert_aux(__gnu_cxx::__normal_iterator<char*, std::vector<char, std::allocator<char> > >, char const&) |