1Flat profile: 2 3Each sample counts as 0.01 seconds. 4 % cumulative self self total 5 time seconds seconds calls Ts/call Ts/call name 6100.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 23time program used by this function. 24 25cumulative 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 29seconds function alone. This is the major sort for this 30 listing. 31 32calls 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 36ms/call function per call, if this function is profiled, 37 else blank. 38 39 total the average number of milliseconds spent in this 40ms/call function and its descendents per call, if this 41 function is profiled, else blank. 42 43name 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 49 Call graph (explanation follows) 50 51 52granularity: each sample hit covers 4 byte(s) for 100.00% of 0.01 seconds 53 54index % 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 197Index 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&) 204