diff --git a/CMakeLists.txt b/CMakeLists.txt index 1eab1bc..e652ef0 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,5 +1,5 @@ cmake_minimum_required(VERSION 3.25) -project(blt-gp VERSION 0.0.40) +project(blt-gp VERSION 0.0.41) include(CTest) @@ -73,5 +73,6 @@ if (${BUILD_EXAMPLES}) blt_add_example(blt-gp2 examples/gp_test_2.cpp) blt_add_example(blt-gp3 examples/gp_test_3.cpp) blt_add_example(blt-gp4 examples/gp_test_4.cpp) + blt_add_example(blt-gp5 examples/gp_test_5.cpp) endif () \ No newline at end of file diff --git a/examples/gp_test_5.cpp b/examples/gp_test_5.cpp new file mode 100644 index 0000000..376f047 --- /dev/null +++ b/examples/gp_test_5.cpp @@ -0,0 +1,106 @@ +/* + * + * Copyright (C) 2024 Brett Terpstra + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +/* + * + * Copyright (C) 2024 Brett Terpstra + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +#include +#include +#include +#include + +static constexpr long SEED = 41912; + +blt::gp::type_provider type_system; +blt::gp::gp_program program(type_system, std::mt19937_64{SEED}); // NOLINT + +blt::gp::operation_t add([](float a, float b) { return a + b; }); +blt::gp::operation_t sub([](float a, float b) { return a - b; }); +blt::gp::operation_t mul([](float a, float b) { return a * b; }); +blt::gp::operation_t pro_div([](float a, float b) { return b == 0 ? 0.0f : a / b; }); + +blt::gp::operation_t op_if([](bool b, float a, float c) { return b ? a : c; }); +blt::gp::operation_t eq_f([](float a, float b) { return a == b; }); +blt::gp::operation_t eq_b([](bool a, bool b) { return a == b; }); +blt::gp::operation_t lt([](float a, float b) { return a < b; }); +blt::gp::operation_t gt([](float a, float b) { return a > b; }); +blt::gp::operation_t op_and([](bool a, bool b) { return a && b; }); +blt::gp::operation_t op_or([](bool a, bool b) { return a || b; }); +blt::gp::operation_t op_xor([](bool a, bool b) { return static_cast(a ^ b); }); +blt::gp::operation_t op_not([](bool b) { return !b; }); + +blt::gp::operation_t lit([]() { + //static std::uniform_real_distribution dist(-32000, 32000); + static std::uniform_real_distribution dist(0.0f, 10.0f); + return dist(program.get_random()); +}); + +/** + * This is a test using multiple types with blt::gp + */ +int main() +{ + type_system.register_type(); + type_system.register_type(); + + blt::gp::operator_builder builder{type_system}; + builder.add_operator(add); + builder.add_operator(sub); + builder.add_operator(mul); + builder.add_operator(pro_div); + + builder.add_operator(op_if); + builder.add_operator(eq_f); + builder.add_operator(eq_b); + builder.add_operator(lt); + builder.add_operator(gt); + builder.add_operator(op_and); + builder.add_operator(op_or); + builder.add_operator(op_xor); + builder.add_operator(op_not); + + builder.add_operator(lit, true); + + program.set_operations(builder.build()); + + blt::gp::ramped_half_initializer_t pop_init; + + auto pop = pop_init.generate(blt::gp::initializer_arguments{program, type_system.get_type().id(), 500, 3, 10}); + + for (auto& tree : pop.getIndividuals()) + { + auto value = tree.get_evaluation_value(nullptr); + + BLT_TRACE(value); + } + + return 0; +} diff --git a/include/blt/gp/fwdecl.h b/include/blt/gp/fwdecl.h index 917e45c..2a4faee 100644 --- a/include/blt/gp/fwdecl.h +++ b/include/blt/gp/fwdecl.h @@ -21,6 +21,7 @@ #include #include +#include namespace blt::gp { @@ -53,7 +54,7 @@ namespace blt::gp // context*, read stack, write stack using callable_t = std::function; // to, from - using transfer_t = std::function; + using transfer_t = std::function; } } diff --git a/include/blt/gp/program.h b/include/blt/gp/program.h index 0773137..a8ef710 100644 --- a/include/blt/gp/program.h +++ b/include/blt/gp/program.h @@ -58,6 +58,7 @@ namespace blt::gp // indexed from return TYPE ID, returns index of operator blt::expanding_buffer> terminals; blt::expanding_buffer> non_terminals; + blt::expanding_buffer>> operators_ordered_terminals; // indexed from OPERATOR ID (operator number) blt::expanding_buffer> argument_types; blt::expanding_buffer operator_argc; @@ -101,8 +102,11 @@ namespace blt::gp storage.operator_argc[operator_id] = argc; storage.operators.push_back(op.template make_callable()); - storage.transfer_funcs.push_back([](stack_allocator& to, stack_allocator& from) { - to.push(from.pop()); + storage.transfer_funcs.push_back([](stack_allocator& to, stack_allocator& from, blt::ptrdiff_t offset) { + if (offset < 0) + to.push(from.pop()); + else + to.push(from.from(offset)); }); if (is_static) storage.static_types.insert(operator_id); @@ -119,8 +123,6 @@ namespace blt::gp has_terminals.insert(v.first); } - blt::expanding_buffer>> operators_ordered_terminals; - for (const auto& op_r : blt::enumerate(storage.non_terminals)) { if (op_r.second.empty()) @@ -138,24 +140,37 @@ namespace blt::gp } ordered_terminals.emplace_back(op, terminals); } - bool found = false; + bool found_terminal_inputs = false; + bool matches_argc = false; for (const auto& terms : ordered_terminals) { + if (terms.second == storage.operator_argc[terms.first].argc) + matches_argc = true; if (terms.second != 0) - { - found = true; + found_terminal_inputs = true; + if (matches_argc && found_terminal_inputs) break; - } } - if (!found) + if (!found_terminal_inputs) + BLT_ABORT(("Failed to find function with terminal arguments for return type " + std::to_string(return_type)).c_str()); + if (!matches_argc) { - BLT_ABORT(("Failed to find non-terminals ")); + BLT_ABORT(("Failed to find a function which purely translates types " + "(that is all input types are terminals) for return type " + std::to_string(return_type)).c_str()); } std::sort(ordered_terminals.begin(), ordered_terminals.end(), [](const auto& a, const auto& b) { return a.second > b.second; }); - operators_ordered_terminals[return_type] = ordered_terminals; + + auto first_size = *ordered_terminals.begin(); + auto iter = ordered_terminals.begin(); + while (++iter != ordered_terminals.end() && iter->second == first_size.second) + {} + + ordered_terminals.erase(iter, ordered_terminals.end()); + + storage.operators_ordered_terminals[return_type] = ordered_terminals; } return std::move(storage); @@ -220,6 +235,9 @@ namespace blt::gp inline operator_id select_terminal(type_id id) { + // we wanted a terminal, but could not find one, so we will select from a function that has a terminal + if (storage.terminals[id].empty()) + return select_non_terminal_too_deep(id); std::uniform_int_distribution dist(0, storage.terminals[id].size() - 1); return storage.terminals[id][dist(engine)]; } @@ -229,20 +247,12 @@ namespace blt::gp std::uniform_int_distribution dist(0, storage.non_terminals[id].size() - 1); return storage.non_terminals[id][dist(engine)]; } - -// inline operator_id select_non_terminal_too_deep(type_id id) -// { -// std::uniform_int_distribution dist(0, non_terminals[id].size() - 1); -// operator_id sel; -// do -// { -// sel = non_terminals[id][dist(engine)]; -// } while (std::find_if(argument_types[sel].begin(), argument_types[sel].end(), -// [id](const auto& v) { -// return v.id() == id; -// }) != argument_types[sel].end()); -// return sel; -// } + + inline operator_id select_non_terminal_too_deep(type_id id) + { + std::uniform_int_distribution dist(0, storage.operators_ordered_terminals[id].size() - 1); + return storage.operators_ordered_terminals[id][dist(engine)].first; + } inline std::vector& get_argument_types(operator_id id) { diff --git a/include/blt/gp/transformers.h b/include/blt/gp/transformers.h index faa5cac..d2c8a24 100644 --- a/include/blt/gp/transformers.h +++ b/include/blt/gp/transformers.h @@ -19,9 +19,20 @@ #ifndef BLT_GP_TRANSFORMERS_H #define BLT_GP_TRANSFORMERS_H +#include +#include +#include + namespace blt::gp { - + + class crossover_t + { + public: + BLT_ATTRIB_CONST virtual std::pair apply(gp_program& program, const tree_t& p1, const tree_t& p2); + virtual void apply_in_place(gp_program& program, tree_t& p1, tree_t& p2); + }; + } #endif //BLT_GP_TRANSFORMERS_H diff --git a/massif.out.13633 b/massif.out.13633 new file mode 100644 index 0000000..5501ff3 --- /dev/null +++ b/massif.out.13633 @@ -0,0 +1,966 @@ +desc: (none) +cmd: ./cmake-build-release/blt-gp4-example +time_unit: i +#----------- +snapshot=0 +#----------- +time=0 +mem_heap_B=0 +mem_heap_extra_B=0 +mem_stacks_B=0 +heap_tree=empty +#----------- +snapshot=1 +#----------- +time=1844352 +mem_heap_B=72704 +mem_heap_extra_B=8 +mem_stacks_B=0 +heap_tree=empty +#----------- +snapshot=2 +#----------- +time=2716554 +mem_heap_B=1282810 +mem_heap_extra_B=287382 +mem_stacks_B=0 +heap_tree=empty +#----------- +snapshot=3 +#----------- +time=3444718 +mem_heap_B=1883802 +mem_heap_extra_B=419478 +mem_stacks_B=0 +heap_tree=detailed +n4: 1883802 (heap allocation functions) malloc/new/new[], --alloc-fns, etc. + n2: 1646592 0x11A334: std::_Function_handler::make_callable() const::{lambda(void*, blt::gp::stack_allocator&, blt::gp::stack_allocator&)#1}>::_M_invoke(std::_Any_data const&, void*&&, blt::gp::stack_allocator&, blt::gp::stack_allocator&) (in /home/brett/Documents/code/c++/blt-gp/cmake-build-release/blt-gp4-example) + n1: 892928 0x133A5B: blt::gp::tree_t blt::gp::create_tree > >&, blt::gp::type const&, unsigned long)#1}>(blt::gp::full_generator_t::generate(blt::gp::generator_arguments const&)::{lambda(blt::gp::gp_program&, std::stack > >&, blt::gp::type const&, unsigned long)#1}&&, blt::gp::generator_arguments const&) (in /home/brett/Documents/code/c++/blt-gp/cmake-build-release/blt-gp4-example) + n1: 892928 0x13A8CA: blt::gp::ramped_half_initializer_t::generate(blt::gp::initializer_arguments const&) (in /home/brett/Documents/code/c++/blt-gp/cmake-build-release/blt-gp4-example) + n0: 892928 0x117EA1: main (in /home/brett/Documents/code/c++/blt-gp/cmake-build-release/blt-gp4-example) + n1: 753664 0x136AAB: blt::gp::tree_t blt::gp::create_tree > >&, blt::gp::type const&, unsigned long)#1}>(blt::gp::grow_generator_t::generate(blt::gp::generator_arguments const&)::{lambda(blt::gp::gp_program&, std::stack > >&, blt::gp::type const&, unsigned long)#1}&&, blt::gp::generator_arguments const&) (in /home/brett/Documents/code/c++/blt-gp/cmake-build-release/blt-gp4-example) + n1: 753664 0x13AB4A: blt::gp::ramped_half_initializer_t::generate(blt::gp::initializer_arguments const&) (in /home/brett/Documents/code/c++/blt-gp/cmake-build-release/blt-gp4-example) + n0: 753664 0x117EA1: main (in /home/brett/Documents/code/c++/blt-gp/cmake-build-release/blt-gp4-example) + n2: 140256 0x13B14D: void std::vector >::_M_realloc_insert&, std::function&, bool>(__gnu_cxx::__normal_iterator > >, std::function&, std::function&, bool&&) (in /home/brett/Documents/code/c++/blt-gp/cmake-build-release/blt-gp4-example) + n1: 88896 0x134DBF: blt::gp::tree_t blt::gp::create_tree > >&, blt::gp::type const&, unsigned long)#1}>(blt::gp::full_generator_t::generate(blt::gp::generator_arguments const&)::{lambda(blt::gp::gp_program&, std::stack > >&, blt::gp::type const&, unsigned long)#1}&&, blt::gp::generator_arguments const&) (in /home/brett/Documents/code/c++/blt-gp/cmake-build-release/blt-gp4-example) + n1: 88896 0x13A8CA: blt::gp::ramped_half_initializer_t::generate(blt::gp::initializer_arguments const&) (in /home/brett/Documents/code/c++/blt-gp/cmake-build-release/blt-gp4-example) + n0: 88896 0x117EA1: main (in /home/brett/Documents/code/c++/blt-gp/cmake-build-release/blt-gp4-example) + n1: 51360 0x138197: blt::gp::tree_t blt::gp::create_tree > >&, blt::gp::type const&, unsigned long)#1}>(blt::gp::grow_generator_t::generate(blt::gp::generator_arguments const&)::{lambda(blt::gp::gp_program&, std::stack > >&, blt::gp::type const&, unsigned long)#1}&&, blt::gp::generator_arguments const&) (in /home/brett/Documents/code/c++/blt-gp/cmake-build-release/blt-gp4-example) + n1: 51360 0x13AB4A: blt::gp::ramped_half_initializer_t::generate(blt::gp::initializer_arguments const&) (in /home/brett/Documents/code/c++/blt-gp/cmake-build-release/blt-gp4-example) + n0: 51360 0x117EA1: main (in /home/brett/Documents/code/c++/blt-gp/cmake-build-release/blt-gp4-example) + n1: 72704 0x49157B9: ??? (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.30) + n1: 72704 0x40049CD: call_init (dl-init.c:74) + n1: 72704 0x40049CD: call_init (dl-init.c:26) + n1: 72704 0x4004AB3: _dl_init (dl-init.c:121) + n0: 72704 0x401AA6F: ??? (in /usr/lib/x86_64-linux-gnu/ld-linux-x86-64.so.2) + n0: 24250 in 24 places, all below massif's threshold (1.00%) +#----------- +snapshot=4 +#----------- +time=4191217 +mem_heap_B=2310586 +mem_heap_extra_B=544262 +mem_stacks_B=0 +heap_tree=empty +#----------- +snapshot=5 +#----------- +time=5081555 +mem_heap_B=2760890 +mem_heap_extra_B=639414 +mem_stacks_B=0 +heap_tree=empty +#----------- +snapshot=6 +#----------- +time=6035206 +mem_heap_B=3079994 +mem_heap_extra_B=702438 +mem_stacks_B=0 +heap_tree=detailed +n4: 3079994 (heap allocation functions) malloc/new/new[], --alloc-fns, etc. + n2: 2539520 0x11A334: std::_Function_handler::make_callable() const::{lambda(void*, blt::gp::stack_allocator&, blt::gp::stack_allocator&)#1}>::_M_invoke(std::_Any_data const&, void*&&, blt::gp::stack_allocator&, blt::gp::stack_allocator&) (in /home/brett/Documents/code/c++/blt-gp/cmake-build-release/blt-gp4-example) + n1: 1335296 0x133A5B: blt::gp::tree_t blt::gp::create_tree > >&, blt::gp::type const&, unsigned long)#1}>(blt::gp::full_generator_t::generate(blt::gp::generator_arguments const&)::{lambda(blt::gp::gp_program&, std::stack > >&, blt::gp::type const&, unsigned long)#1}&&, blt::gp::generator_arguments const&) (in /home/brett/Documents/code/c++/blt-gp/cmake-build-release/blt-gp4-example) + n1: 1335296 0x13A8CA: blt::gp::ramped_half_initializer_t::generate(blt::gp::initializer_arguments const&) (in /home/brett/Documents/code/c++/blt-gp/cmake-build-release/blt-gp4-example) + n0: 1335296 0x117EA1: main (in /home/brett/Documents/code/c++/blt-gp/cmake-build-release/blt-gp4-example) + n1: 1204224 0x136AAB: blt::gp::tree_t blt::gp::create_tree > >&, blt::gp::type const&, unsigned long)#1}>(blt::gp::grow_generator_t::generate(blt::gp::generator_arguments const&)::{lambda(blt::gp::gp_program&, std::stack > >&, blt::gp::type const&, unsigned long)#1}&&, blt::gp::generator_arguments const&) (in /home/brett/Documents/code/c++/blt-gp/cmake-build-release/blt-gp4-example) + n1: 1204224 0x13AB4A: blt::gp::ramped_half_initializer_t::generate(blt::gp::initializer_arguments const&) (in /home/brett/Documents/code/c++/blt-gp/cmake-build-release/blt-gp4-example) + n0: 1204224 0x117EA1: main (in /home/brett/Documents/code/c++/blt-gp/cmake-build-release/blt-gp4-example) + n2: 431232 0x13B14D: void std::vector >::_M_realloc_insert&, std::function&, bool>(__gnu_cxx::__normal_iterator > >, std::function&, std::function&, bool&&) (in /home/brett/Documents/code/c++/blt-gp/cmake-build-release/blt-gp4-example) + n1: 315264 0x134DBF: blt::gp::tree_t blt::gp::create_tree > >&, blt::gp::type const&, unsigned long)#1}>(blt::gp::full_generator_t::generate(blt::gp::generator_arguments const&)::{lambda(blt::gp::gp_program&, std::stack > >&, blt::gp::type const&, unsigned long)#1}&&, blt::gp::generator_arguments const&) (in /home/brett/Documents/code/c++/blt-gp/cmake-build-release/blt-gp4-example) + n1: 315264 0x13A8CA: blt::gp::ramped_half_initializer_t::generate(blt::gp::initializer_arguments const&) (in /home/brett/Documents/code/c++/blt-gp/cmake-build-release/blt-gp4-example) + n0: 315264 0x117EA1: main (in /home/brett/Documents/code/c++/blt-gp/cmake-build-release/blt-gp4-example) + n1: 115968 0x138197: blt::gp::tree_t blt::gp::create_tree > >&, blt::gp::type const&, unsigned long)#1}>(blt::gp::grow_generator_t::generate(blt::gp::generator_arguments const&)::{lambda(blt::gp::gp_program&, std::stack > >&, blt::gp::type const&, unsigned long)#1}&&, blt::gp::generator_arguments const&) (in /home/brett/Documents/code/c++/blt-gp/cmake-build-release/blt-gp4-example) + n1: 115968 0x13AB4A: blt::gp::ramped_half_initializer_t::generate(blt::gp::initializer_arguments const&) (in /home/brett/Documents/code/c++/blt-gp/cmake-build-release/blt-gp4-example) + n0: 115968 0x117EA1: main (in /home/brett/Documents/code/c++/blt-gp/cmake-build-release/blt-gp4-example) + n1: 72704 0x49157B9: ??? (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.30) + n1: 72704 0x40049CD: call_init (dl-init.c:74) + n1: 72704 0x40049CD: call_init (dl-init.c:26) + n1: 72704 0x4004AB3: _dl_init (dl-init.c:121) + n0: 72704 0x401AA6F: ??? (in /usr/lib/x86_64-linux-gnu/ld-linux-x86-64.so.2) + n0: 36538 in 24 places, all below massif's threshold (1.00%) +#----------- +snapshot=7 +#----------- +time=7120303 +mem_heap_B=3426234 +mem_heap_extra_B=751094 +mem_stacks_B=0 +heap_tree=detailed +n4: 3426234 (heap allocation functions) malloc/new/new[], --alloc-fns, etc. + n2: 2752512 0x11A334: std::_Function_handler::make_callable() const::{lambda(void*, blt::gp::stack_allocator&, blt::gp::stack_allocator&)#1}>::_M_invoke(std::_Any_data const&, void*&&, blt::gp::stack_allocator&, blt::gp::stack_allocator&) (in /home/brett/Documents/code/c++/blt-gp/cmake-build-release/blt-gp4-example) + n1: 1458176 0x133A5B: blt::gp::tree_t blt::gp::create_tree > >&, blt::gp::type const&, unsigned long)#1}>(blt::gp::full_generator_t::generate(blt::gp::generator_arguments const&)::{lambda(blt::gp::gp_program&, std::stack > >&, blt::gp::type const&, unsigned long)#1}&&, blt::gp::generator_arguments const&) (in /home/brett/Documents/code/c++/blt-gp/cmake-build-release/blt-gp4-example) + n1: 1458176 0x13A8CA: blt::gp::ramped_half_initializer_t::generate(blt::gp::initializer_arguments const&) (in /home/brett/Documents/code/c++/blt-gp/cmake-build-release/blt-gp4-example) + n0: 1458176 0x117EA1: main (in /home/brett/Documents/code/c++/blt-gp/cmake-build-release/blt-gp4-example) + n1: 1294336 0x136AAB: blt::gp::tree_t blt::gp::create_tree > >&, blt::gp::type const&, unsigned long)#1}>(blt::gp::grow_generator_t::generate(blt::gp::generator_arguments const&)::{lambda(blt::gp::gp_program&, std::stack > >&, blt::gp::type const&, unsigned long)#1}&&, blt::gp::generator_arguments const&) (in /home/brett/Documents/code/c++/blt-gp/cmake-build-release/blt-gp4-example) + n1: 1294336 0x13AB4A: blt::gp::ramped_half_initializer_t::generate(blt::gp::initializer_arguments const&) (in /home/brett/Documents/code/c++/blt-gp/cmake-build-release/blt-gp4-example) + n0: 1294336 0x117EA1: main (in /home/brett/Documents/code/c++/blt-gp/cmake-build-release/blt-gp4-example) + n2: 564480 0x13B14D: void std::vector >::_M_realloc_insert&, std::function&, bool>(__gnu_cxx::__normal_iterator > >, std::function&, std::function&, bool&&) (in /home/brett/Documents/code/c++/blt-gp/cmake-build-release/blt-gp4-example) + n1: 432000 0x134DBF: blt::gp::tree_t blt::gp::create_tree > >&, blt::gp::type const&, unsigned long)#1}>(blt::gp::full_generator_t::generate(blt::gp::generator_arguments const&)::{lambda(blt::gp::gp_program&, std::stack > >&, blt::gp::type const&, unsigned long)#1}&&, blt::gp::generator_arguments const&) (in /home/brett/Documents/code/c++/blt-gp/cmake-build-release/blt-gp4-example) + n1: 432000 0x13A8CA: blt::gp::ramped_half_initializer_t::generate(blt::gp::initializer_arguments const&) (in /home/brett/Documents/code/c++/blt-gp/cmake-build-release/blt-gp4-example) + n0: 432000 0x117EA1: main (in /home/brett/Documents/code/c++/blt-gp/cmake-build-release/blt-gp4-example) + n1: 132480 0x138197: blt::gp::tree_t blt::gp::create_tree > >&, blt::gp::type const&, unsigned long)#1}>(blt::gp::grow_generator_t::generate(blt::gp::generator_arguments const&)::{lambda(blt::gp::gp_program&, std::stack > >&, blt::gp::type const&, unsigned long)#1}&&, blt::gp::generator_arguments const&) (in /home/brett/Documents/code/c++/blt-gp/cmake-build-release/blt-gp4-example) + n1: 132480 0x13AB4A: blt::gp::ramped_half_initializer_t::generate(blt::gp::initializer_arguments const&) (in /home/brett/Documents/code/c++/blt-gp/cmake-build-release/blt-gp4-example) + n0: 132480 0x117EA1: main (in /home/brett/Documents/code/c++/blt-gp/cmake-build-release/blt-gp4-example) + n1: 72704 0x49157B9: ??? (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.30) + n1: 72704 0x40049CD: call_init (dl-init.c:74) + n1: 72704 0x40049CD: call_init (dl-init.c:26) + n1: 72704 0x4004AB3: _dl_init (dl-init.c:121) + n0: 72704 0x401AA6F: ??? (in /usr/lib/x86_64-linux-gnu/ld-linux-x86-64.so.2) + n0: 36538 in 24 places, all below massif's threshold (1.00%) +#----------- +snapshot=8 +#----------- +time=7765277 +mem_heap_B=3644538 +mem_heap_extra_B=786374 +mem_stacks_B=0 +heap_tree=empty +#----------- +snapshot=9 +#----------- +time=8645611 +mem_heap_B=3868026 +mem_heap_extra_B=812998 +mem_stacks_B=0 +heap_tree=detailed +n4: 3868026 (heap allocation functions) malloc/new/new[], --alloc-fns, etc. + n2: 2998272 0x11A334: std::_Function_handler::make_callable() const::{lambda(void*, blt::gp::stack_allocator&, blt::gp::stack_allocator&)#1}>::_M_invoke(std::_Any_data const&, void*&&, blt::gp::stack_allocator&, blt::gp::stack_allocator&) (in /home/brett/Documents/code/c++/blt-gp/cmake-build-release/blt-gp4-example) + n1: 1572864 0x133A5B: blt::gp::tree_t blt::gp::create_tree > >&, blt::gp::type const&, unsigned long)#1}>(blt::gp::full_generator_t::generate(blt::gp::generator_arguments const&)::{lambda(blt::gp::gp_program&, std::stack > >&, blt::gp::type const&, unsigned long)#1}&&, blt::gp::generator_arguments const&) (in /home/brett/Documents/code/c++/blt-gp/cmake-build-release/blt-gp4-example) + n1: 1572864 0x13A8CA: blt::gp::ramped_half_initializer_t::generate(blt::gp::initializer_arguments const&) (in /home/brett/Documents/code/c++/blt-gp/cmake-build-release/blt-gp4-example) + n0: 1572864 0x117EA1: main (in /home/brett/Documents/code/c++/blt-gp/cmake-build-release/blt-gp4-example) + n1: 1425408 0x136AAB: blt::gp::tree_t blt::gp::create_tree > >&, blt::gp::type const&, unsigned long)#1}>(blt::gp::grow_generator_t::generate(blt::gp::generator_arguments const&)::{lambda(blt::gp::gp_program&, std::stack > >&, blt::gp::type const&, unsigned long)#1}&&, blt::gp::generator_arguments const&) (in /home/brett/Documents/code/c++/blt-gp/cmake-build-release/blt-gp4-example) + n1: 1425408 0x13AB4A: blt::gp::ramped_half_initializer_t::generate(blt::gp::initializer_arguments const&) (in /home/brett/Documents/code/c++/blt-gp/cmake-build-release/blt-gp4-example) + n0: 1425408 0x117EA1: main (in /home/brett/Documents/code/c++/blt-gp/cmake-build-release/blt-gp4-example) + n2: 760512 0x13B14D: void std::vector >::_M_realloc_insert&, std::function&, bool>(__gnu_cxx::__normal_iterator > >, std::function&, std::function&, bool&&) (in /home/brett/Documents/code/c++/blt-gp/cmake-build-release/blt-gp4-example) + n1: 603456 0x134DBF: blt::gp::tree_t blt::gp::create_tree > >&, blt::gp::type const&, unsigned long)#1}>(blt::gp::full_generator_t::generate(blt::gp::generator_arguments const&)::{lambda(blt::gp::gp_program&, std::stack > >&, blt::gp::type const&, unsigned long)#1}&&, blt::gp::generator_arguments const&) (in /home/brett/Documents/code/c++/blt-gp/cmake-build-release/blt-gp4-example) + n1: 603456 0x13A8CA: blt::gp::ramped_half_initializer_t::generate(blt::gp::initializer_arguments const&) (in /home/brett/Documents/code/c++/blt-gp/cmake-build-release/blt-gp4-example) + n0: 603456 0x117EA1: main (in /home/brett/Documents/code/c++/blt-gp/cmake-build-release/blt-gp4-example) + n1: 157056 0x138197: blt::gp::tree_t blt::gp::create_tree > >&, blt::gp::type const&, unsigned long)#1}>(blt::gp::grow_generator_t::generate(blt::gp::generator_arguments const&)::{lambda(blt::gp::gp_program&, std::stack > >&, blt::gp::type const&, unsigned long)#1}&&, blt::gp::generator_arguments const&) (in /home/brett/Documents/code/c++/blt-gp/cmake-build-release/blt-gp4-example) + n1: 157056 0x13AB4A: blt::gp::ramped_half_initializer_t::generate(blt::gp::initializer_arguments const&) (in /home/brett/Documents/code/c++/blt-gp/cmake-build-release/blt-gp4-example) + n0: 157056 0x117EA1: main (in /home/brett/Documents/code/c++/blt-gp/cmake-build-release/blt-gp4-example) + n1: 72704 0x49157B9: ??? (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.30) + n1: 72704 0x40049CD: call_init (dl-init.c:74) + n1: 72704 0x40049CD: call_init (dl-init.c:26) + n1: 72704 0x4004AB3: _dl_init (dl-init.c:121) + n0: 72704 0x401AA6F: ??? (in /usr/lib/x86_64-linux-gnu/ld-linux-x86-64.so.2) + n0: 36538 in 24 places, all below massif's threshold (1.00%) +#----------- +snapshot=10 +#----------- +time=9651938 +mem_heap_B=4106042 +mem_heap_extra_B=820134 +mem_stacks_B=0 +heap_tree=empty +#----------- +snapshot=11 +#----------- +time=10883742 +mem_heap_B=4436538 +mem_heap_extra_B=858198 +mem_stacks_B=0 +heap_tree=empty +#----------- +snapshot=12 +#----------- +time=12147857 +mem_heap_B=4760634 +mem_heap_extra_B=922422 +mem_stacks_B=0 +heap_tree=detailed +n4: 4760634 (heap allocation functions) malloc/new/new[], --alloc-fns, etc. + n2: 3489792 0x11A334: std::_Function_handler::make_callable() const::{lambda(void*, blt::gp::stack_allocator&, blt::gp::stack_allocator&)#1}>::_M_invoke(std::_Any_data const&, void*&&, blt::gp::stack_allocator&, blt::gp::stack_allocator&) (in /home/brett/Documents/code/c++/blt-gp/cmake-build-release/blt-gp4-example) + n1: 1753088 0x133A5B: blt::gp::tree_t blt::gp::create_tree > >&, blt::gp::type const&, unsigned long)#1}>(blt::gp::full_generator_t::generate(blt::gp::generator_arguments const&)::{lambda(blt::gp::gp_program&, std::stack > >&, blt::gp::type const&, unsigned long)#1}&&, blt::gp::generator_arguments const&) (in /home/brett/Documents/code/c++/blt-gp/cmake-build-release/blt-gp4-example) + n1: 1753088 0x13A8CA: blt::gp::ramped_half_initializer_t::generate(blt::gp::initializer_arguments const&) (in /home/brett/Documents/code/c++/blt-gp/cmake-build-release/blt-gp4-example) + n0: 1753088 0x117EA1: main (in /home/brett/Documents/code/c++/blt-gp/cmake-build-release/blt-gp4-example) + n1: 1736704 0x136AAB: blt::gp::tree_t blt::gp::create_tree > >&, blt::gp::type const&, unsigned long)#1}>(blt::gp::grow_generator_t::generate(blt::gp::generator_arguments const&)::{lambda(blt::gp::gp_program&, std::stack > >&, blt::gp::type const&, unsigned long)#1}&&, blt::gp::generator_arguments const&) (in /home/brett/Documents/code/c++/blt-gp/cmake-build-release/blt-gp4-example) + n1: 1736704 0x13AB4A: blt::gp::ramped_half_initializer_t::generate(blt::gp::initializer_arguments const&) (in /home/brett/Documents/code/c++/blt-gp/cmake-build-release/blt-gp4-example) + n0: 1736704 0x117EA1: main (in /home/brett/Documents/code/c++/blt-gp/cmake-build-release/blt-gp4-example) + n2: 1161600 0x13B14D: void std::vector >::_M_realloc_insert&, std::function&, bool>(__gnu_cxx::__normal_iterator > >, std::function&, std::function&, bool&&) (in /home/brett/Documents/code/c++/blt-gp/cmake-build-release/blt-gp4-example) + n1: 935232 0x134DBF: blt::gp::tree_t blt::gp::create_tree > >&, blt::gp::type const&, unsigned long)#1}>(blt::gp::full_generator_t::generate(blt::gp::generator_arguments const&)::{lambda(blt::gp::gp_program&, std::stack > >&, blt::gp::type const&, unsigned long)#1}&&, blt::gp::generator_arguments const&) (in /home/brett/Documents/code/c++/blt-gp/cmake-build-release/blt-gp4-example) + n1: 935232 0x13A8CA: blt::gp::ramped_half_initializer_t::generate(blt::gp::initializer_arguments const&) (in /home/brett/Documents/code/c++/blt-gp/cmake-build-release/blt-gp4-example) + n0: 935232 0x117EA1: main (in /home/brett/Documents/code/c++/blt-gp/cmake-build-release/blt-gp4-example) + n1: 226368 0x138197: blt::gp::tree_t blt::gp::create_tree > >&, blt::gp::type const&, unsigned long)#1}>(blt::gp::grow_generator_t::generate(blt::gp::generator_arguments const&)::{lambda(blt::gp::gp_program&, std::stack > >&, blt::gp::type const&, unsigned long)#1}&&, blt::gp::generator_arguments const&) (in /home/brett/Documents/code/c++/blt-gp/cmake-build-release/blt-gp4-example) + n1: 226368 0x13AB4A: blt::gp::ramped_half_initializer_t::generate(blt::gp::initializer_arguments const&) (in /home/brett/Documents/code/c++/blt-gp/cmake-build-release/blt-gp4-example) + n0: 226368 0x117EA1: main (in /home/brett/Documents/code/c++/blt-gp/cmake-build-release/blt-gp4-example) + n1: 72704 0x49157B9: ??? (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.30) + n1: 72704 0x40049CD: call_init (dl-init.c:74) + n1: 72704 0x40049CD: call_init (dl-init.c:26) + n1: 72704 0x4004AB3: _dl_init (dl-init.c:121) + n0: 72704 0x401AA6F: ??? (in /usr/lib/x86_64-linux-gnu/ld-linux-x86-64.so.2) + n0: 36538 in 24 places, all below massif's threshold (1.00%) +#----------- +snapshot=13 +#----------- +time=13074334 +mem_heap_B=4924218 +mem_heap_extra_B=926870 +mem_stacks_B=0 +heap_tree=empty +#----------- +snapshot=14 +#----------- +time=14375637 +mem_heap_B=5142330 +mem_heap_extra_B=934454 +mem_stacks_B=0 +heap_tree=detailed +n4: 5142330 (heap allocation functions) malloc/new/new[], --alloc-fns, etc. + n2: 3588096 0x11A334: std::_Function_handler::make_callable() const::{lambda(void*, blt::gp::stack_allocator&, blt::gp::stack_allocator&)#1}>::_M_invoke(std::_Any_data const&, void*&&, blt::gp::stack_allocator&, blt::gp::stack_allocator&) (in /home/brett/Documents/code/c++/blt-gp/cmake-build-release/blt-gp4-example) + n1: 1818624 0x133A5B: blt::gp::tree_t blt::gp::create_tree > >&, blt::gp::type const&, unsigned long)#1}>(blt::gp::full_generator_t::generate(blt::gp::generator_arguments const&)::{lambda(blt::gp::gp_program&, std::stack > >&, blt::gp::type const&, unsigned long)#1}&&, blt::gp::generator_arguments const&) (in /home/brett/Documents/code/c++/blt-gp/cmake-build-release/blt-gp4-example) + n1: 1818624 0x13A8CA: blt::gp::ramped_half_initializer_t::generate(blt::gp::initializer_arguments const&) (in /home/brett/Documents/code/c++/blt-gp/cmake-build-release/blt-gp4-example) + n0: 1818624 0x117EA1: main (in /home/brett/Documents/code/c++/blt-gp/cmake-build-release/blt-gp4-example) + n1: 1769472 0x136AAB: blt::gp::tree_t blt::gp::create_tree > >&, blt::gp::type const&, unsigned long)#1}>(blt::gp::grow_generator_t::generate(blt::gp::generator_arguments const&)::{lambda(blt::gp::gp_program&, std::stack > >&, blt::gp::type const&, unsigned long)#1}&&, blt::gp::generator_arguments const&) (in /home/brett/Documents/code/c++/blt-gp/cmake-build-release/blt-gp4-example) + n1: 1769472 0x13AB4A: blt::gp::ramped_half_initializer_t::generate(blt::gp::initializer_arguments const&) (in /home/brett/Documents/code/c++/blt-gp/cmake-build-release/blt-gp4-example) + n0: 1769472 0x117EA1: main (in /home/brett/Documents/code/c++/blt-gp/cmake-build-release/blt-gp4-example) + n2: 1444992 0x13B14D: void std::vector >::_M_realloc_insert&, std::function&, bool>(__gnu_cxx::__normal_iterator > >, std::function&, std::function&, bool&&) (in /home/brett/Documents/code/c++/blt-gp/cmake-build-release/blt-gp4-example) + n1: 1205568 0x134DBF: blt::gp::tree_t blt::gp::create_tree > >&, blt::gp::type const&, unsigned long)#1}>(blt::gp::full_generator_t::generate(blt::gp::generator_arguments const&)::{lambda(blt::gp::gp_program&, std::stack > >&, blt::gp::type const&, unsigned long)#1}&&, blt::gp::generator_arguments const&) (in /home/brett/Documents/code/c++/blt-gp/cmake-build-release/blt-gp4-example) + n1: 1205568 0x13A8CA: blt::gp::ramped_half_initializer_t::generate(blt::gp::initializer_arguments const&) (in /home/brett/Documents/code/c++/blt-gp/cmake-build-release/blt-gp4-example) + n0: 1205568 0x117EA1: main (in /home/brett/Documents/code/c++/blt-gp/cmake-build-release/blt-gp4-example) + n1: 239424 0x138197: blt::gp::tree_t blt::gp::create_tree > >&, blt::gp::type const&, unsigned long)#1}>(blt::gp::grow_generator_t::generate(blt::gp::generator_arguments const&)::{lambda(blt::gp::gp_program&, std::stack > >&, blt::gp::type const&, unsigned long)#1}&&, blt::gp::generator_arguments const&) (in /home/brett/Documents/code/c++/blt-gp/cmake-build-release/blt-gp4-example) + n1: 239424 0x13AB4A: blt::gp::ramped_half_initializer_t::generate(blt::gp::initializer_arguments const&) (in /home/brett/Documents/code/c++/blt-gp/cmake-build-release/blt-gp4-example) + n0: 239424 0x117EA1: main (in /home/brett/Documents/code/c++/blt-gp/cmake-build-release/blt-gp4-example) + n1: 72704 0x49157B9: ??? (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.30) + n1: 72704 0x40049CD: call_init (dl-init.c:74) + n1: 72704 0x40049CD: call_init (dl-init.c:26) + n1: 72704 0x4004AB3: _dl_init (dl-init.c:121) + n0: 72704 0x401AA6F: ??? (in /usr/lib/x86_64-linux-gnu/ld-linux-x86-64.so.2) + n0: 36538 in 24 places, all below massif's threshold (1.00%) +#----------- +snapshot=15 +#----------- +time=15498078 +mem_heap_B=5302458 +mem_heap_extra_B=945094 +mem_stacks_B=0 +heap_tree=empty +#----------- +snapshot=16 +#----------- +time=16058954 +mem_heap_B=5398714 +mem_heap_extra_B=949254 +mem_stacks_B=0 +heap_tree=detailed +n4: 5398714 (heap allocation functions) malloc/new/new[], --alloc-fns, etc. + n2: 3653632 0x11A334: std::_Function_handler::make_callable() const::{lambda(void*, blt::gp::stack_allocator&, blt::gp::stack_allocator&)#1}>::_M_invoke(std::_Any_data const&, void*&&, blt::gp::stack_allocator&, blt::gp::stack_allocator&) (in /home/brett/Documents/code/c++/blt-gp/cmake-build-release/blt-gp4-example) + n1: 1875968 0x133A5B: blt::gp::tree_t blt::gp::create_tree > >&, blt::gp::type const&, unsigned long)#1}>(blt::gp::full_generator_t::generate(blt::gp::generator_arguments const&)::{lambda(blt::gp::gp_program&, std::stack > >&, blt::gp::type const&, unsigned long)#1}&&, blt::gp::generator_arguments const&) (in /home/brett/Documents/code/c++/blt-gp/cmake-build-release/blt-gp4-example) + n1: 1875968 0x13A8CA: blt::gp::ramped_half_initializer_t::generate(blt::gp::initializer_arguments const&) (in /home/brett/Documents/code/c++/blt-gp/cmake-build-release/blt-gp4-example) + n0: 1875968 0x117EA1: main (in /home/brett/Documents/code/c++/blt-gp/cmake-build-release/blt-gp4-example) + n1: 1777664 0x136AAB: blt::gp::tree_t blt::gp::create_tree > >&, blt::gp::type const&, unsigned long)#1}>(blt::gp::grow_generator_t::generate(blt::gp::generator_arguments const&)::{lambda(blt::gp::gp_program&, std::stack > >&, blt::gp::type const&, unsigned long)#1}&&, blt::gp::generator_arguments const&) (in /home/brett/Documents/code/c++/blt-gp/cmake-build-release/blt-gp4-example) + n1: 1777664 0x13AB4A: blt::gp::ramped_half_initializer_t::generate(blt::gp::initializer_arguments const&) (in /home/brett/Documents/code/c++/blt-gp/cmake-build-release/blt-gp4-example) + n0: 1777664 0x117EA1: main (in /home/brett/Documents/code/c++/blt-gp/cmake-build-release/blt-gp4-example) + n2: 1635840 0x13B14D: void std::vector >::_M_realloc_insert&, std::function&, bool>(__gnu_cxx::__normal_iterator > >, std::function&, std::function&, bool&&) (in /home/brett/Documents/code/c++/blt-gp/cmake-build-release/blt-gp4-example) + n1: 1396032 0x134DBF: blt::gp::tree_t blt::gp::create_tree > >&, blt::gp::type const&, unsigned long)#1}>(blt::gp::full_generator_t::generate(blt::gp::generator_arguments const&)::{lambda(blt::gp::gp_program&, std::stack > >&, blt::gp::type const&, unsigned long)#1}&&, blt::gp::generator_arguments const&) (in /home/brett/Documents/code/c++/blt-gp/cmake-build-release/blt-gp4-example) + n1: 1396032 0x13A8CA: blt::gp::ramped_half_initializer_t::generate(blt::gp::initializer_arguments const&) (in /home/brett/Documents/code/c++/blt-gp/cmake-build-release/blt-gp4-example) + n0: 1396032 0x117EA1: main (in /home/brett/Documents/code/c++/blt-gp/cmake-build-release/blt-gp4-example) + n1: 239808 0x138197: blt::gp::tree_t blt::gp::create_tree > >&, blt::gp::type const&, unsigned long)#1}>(blt::gp::grow_generator_t::generate(blt::gp::generator_arguments const&)::{lambda(blt::gp::gp_program&, std::stack > >&, blt::gp::type const&, unsigned long)#1}&&, blt::gp::generator_arguments const&) (in /home/brett/Documents/code/c++/blt-gp/cmake-build-release/blt-gp4-example) + n1: 239808 0x13AB4A: blt::gp::ramped_half_initializer_t::generate(blt::gp::initializer_arguments const&) (in /home/brett/Documents/code/c++/blt-gp/cmake-build-release/blt-gp4-example) + n0: 239808 0x117EA1: main (in /home/brett/Documents/code/c++/blt-gp/cmake-build-release/blt-gp4-example) + n1: 72704 0x49157B9: ??? (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.30) + n1: 72704 0x40049CD: call_init (dl-init.c:74) + n1: 72704 0x40049CD: call_init (dl-init.c:26) + n1: 72704 0x4004AB3: _dl_init (dl-init.c:121) + n0: 72704 0x401AA6F: ??? (in /usr/lib/x86_64-linux-gnu/ld-linux-x86-64.so.2) + n0: 36538 in 24 places, all below massif's threshold (1.00%) +#----------- +snapshot=17 +#----------- +time=16929440 +mem_heap_B=5552314 +mem_heap_extra_B=956166 +mem_stacks_B=0 +heap_tree=detailed +n4: 5552314 (heap allocation functions) malloc/new/new[], --alloc-fns, etc. + n2: 3678208 0x11A334: std::_Function_handler::make_callable() const::{lambda(void*, blt::gp::stack_allocator&, blt::gp::stack_allocator&)#1}>::_M_invoke(std::_Any_data const&, void*&&, blt::gp::stack_allocator&, blt::gp::stack_allocator&) (in /home/brett/Documents/code/c++/blt-gp/cmake-build-release/blt-gp4-example) + n1: 1900544 0x133A5B: blt::gp::tree_t blt::gp::create_tree > >&, blt::gp::type const&, unsigned long)#1}>(blt::gp::full_generator_t::generate(blt::gp::generator_arguments const&)::{lambda(blt::gp::gp_program&, std::stack > >&, blt::gp::type const&, unsigned long)#1}&&, blt::gp::generator_arguments const&) (in /home/brett/Documents/code/c++/blt-gp/cmake-build-release/blt-gp4-example) + n1: 1900544 0x13A8CA: blt::gp::ramped_half_initializer_t::generate(blt::gp::initializer_arguments const&) (in /home/brett/Documents/code/c++/blt-gp/cmake-build-release/blt-gp4-example) + n0: 1900544 0x117EA1: main (in /home/brett/Documents/code/c++/blt-gp/cmake-build-release/blt-gp4-example) + n1: 1777664 0x136AAB: blt::gp::tree_t blt::gp::create_tree > >&, blt::gp::type const&, unsigned long)#1}>(blt::gp::grow_generator_t::generate(blt::gp::generator_arguments const&)::{lambda(blt::gp::gp_program&, std::stack > >&, blt::gp::type const&, unsigned long)#1}&&, blt::gp::generator_arguments const&) (in /home/brett/Documents/code/c++/blt-gp/cmake-build-release/blt-gp4-example) + n1: 1777664 0x13AB4A: blt::gp::ramped_half_initializer_t::generate(blt::gp::initializer_arguments const&) (in /home/brett/Documents/code/c++/blt-gp/cmake-build-release/blt-gp4-example) + n0: 1777664 0x117EA1: main (in /home/brett/Documents/code/c++/blt-gp/cmake-build-release/blt-gp4-example) + n2: 1764864 0x13B14D: void std::vector >::_M_realloc_insert&, std::function&, bool>(__gnu_cxx::__normal_iterator > >, std::function&, std::function&, bool&&) (in /home/brett/Documents/code/c++/blt-gp/cmake-build-release/blt-gp4-example) + n1: 1525056 0x134DBF: blt::gp::tree_t blt::gp::create_tree > >&, blt::gp::type const&, unsigned long)#1}>(blt::gp::full_generator_t::generate(blt::gp::generator_arguments const&)::{lambda(blt::gp::gp_program&, std::stack > >&, blt::gp::type const&, unsigned long)#1}&&, blt::gp::generator_arguments const&) (in /home/brett/Documents/code/c++/blt-gp/cmake-build-release/blt-gp4-example) + n1: 1525056 0x13A8CA: blt::gp::ramped_half_initializer_t::generate(blt::gp::initializer_arguments const&) (in /home/brett/Documents/code/c++/blt-gp/cmake-build-release/blt-gp4-example) + n0: 1525056 0x117EA1: main (in /home/brett/Documents/code/c++/blt-gp/cmake-build-release/blt-gp4-example) + n1: 239808 0x138197: blt::gp::tree_t blt::gp::create_tree > >&, blt::gp::type const&, unsigned long)#1}>(blt::gp::grow_generator_t::generate(blt::gp::generator_arguments const&)::{lambda(blt::gp::gp_program&, std::stack > >&, blt::gp::type const&, unsigned long)#1}&&, blt::gp::generator_arguments const&) (in /home/brett/Documents/code/c++/blt-gp/cmake-build-release/blt-gp4-example) + n1: 239808 0x13AB4A: blt::gp::ramped_half_initializer_t::generate(blt::gp::initializer_arguments const&) (in /home/brett/Documents/code/c++/blt-gp/cmake-build-release/blt-gp4-example) + n0: 239808 0x117EA1: main (in /home/brett/Documents/code/c++/blt-gp/cmake-build-release/blt-gp4-example) + n1: 72704 0x49157B9: ??? (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.30) + n1: 72704 0x40049CD: call_init (dl-init.c:74) + n1: 72704 0x40049CD: call_init (dl-init.c:26) + n1: 72704 0x4004AB3: _dl_init (dl-init.c:121) + n0: 72704 0x401AA6F: ??? (in /usr/lib/x86_64-linux-gnu/ld-linux-x86-64.so.2) + n0: 36538 in 24 places, all below massif's threshold (1.00%) +#----------- +snapshot=18 +#----------- +time=17594997 +mem_heap_B=5660346 +mem_heap_extra_B=974950 +mem_stacks_B=0 +heap_tree=empty +#----------- +snapshot=19 +#----------- +time=18485433 +mem_heap_B=5828858 +mem_heap_extra_B=997350 +mem_stacks_B=0 +heap_tree=empty +#----------- +snapshot=20 +#----------- +time=19554263 +mem_heap_B=6008826 +mem_heap_extra_B=1027254 +mem_stacks_B=0 +heap_tree=empty +#----------- +snapshot=21 +#----------- +time=20254655 +mem_heap_B=6143226 +mem_heap_extra_B=1031478 +mem_stacks_B=0 +heap_tree=empty +#----------- +snapshot=22 +#----------- +time=21277387 +mem_heap_B=6277882 +mem_heap_extra_B=1032390 +mem_stacks_B=0 +heap_tree=empty +#----------- +snapshot=23 +#----------- +time=21882816 +mem_heap_B=6425338 +mem_heap_extra_B=1035382 +mem_stacks_B=0 +heap_tree=detailed +n3: 6425338 (heap allocation functions) malloc/new/new[], --alloc-fns, etc. + n2: 3948544 0x11A334: std::_Function_handler::make_callable() const::{lambda(void*, blt::gp::stack_allocator&, blt::gp::stack_allocator&)#1}>::_M_invoke(std::_Any_data const&, void*&&, blt::gp::stack_allocator&, blt::gp::stack_allocator&) (in /home/brett/Documents/code/c++/blt-gp/cmake-build-release/blt-gp4-example) + n1: 2031616 0x133A5B: blt::gp::tree_t blt::gp::create_tree > >&, blt::gp::type const&, unsigned long)#1}>(blt::gp::full_generator_t::generate(blt::gp::generator_arguments const&)::{lambda(blt::gp::gp_program&, std::stack > >&, blt::gp::type const&, unsigned long)#1}&&, blt::gp::generator_arguments const&) (in /home/brett/Documents/code/c++/blt-gp/cmake-build-release/blt-gp4-example) + n1: 2031616 0x13A8CA: blt::gp::ramped_half_initializer_t::generate(blt::gp::initializer_arguments const&) (in /home/brett/Documents/code/c++/blt-gp/cmake-build-release/blt-gp4-example) + n0: 2031616 0x117EA1: main (in /home/brett/Documents/code/c++/blt-gp/cmake-build-release/blt-gp4-example) + n1: 1916928 0x136AAB: blt::gp::tree_t blt::gp::create_tree > >&, blt::gp::type const&, unsigned long)#1}>(blt::gp::grow_generator_t::generate(blt::gp::generator_arguments const&)::{lambda(blt::gp::gp_program&, std::stack > >&, blt::gp::type const&, unsigned long)#1}&&, blt::gp::generator_arguments const&) (in /home/brett/Documents/code/c++/blt-gp/cmake-build-release/blt-gp4-example) + n1: 1916928 0x13AB4A: blt::gp::ramped_half_initializer_t::generate(blt::gp::initializer_arguments const&) (in /home/brett/Documents/code/c++/blt-gp/cmake-build-release/blt-gp4-example) + n0: 1916928 0x117EA1: main (in /home/brett/Documents/code/c++/blt-gp/cmake-build-release/blt-gp4-example) + n2: 2367552 0x13B14D: void std::vector >::_M_realloc_insert&, std::function&, bool>(__gnu_cxx::__normal_iterator > >, std::function&, std::function&, bool&&) (in /home/brett/Documents/code/c++/blt-gp/cmake-build-release/blt-gp4-example) + n1: 2090304 0x134DBF: blt::gp::tree_t blt::gp::create_tree > >&, blt::gp::type const&, unsigned long)#1}>(blt::gp::full_generator_t::generate(blt::gp::generator_arguments const&)::{lambda(blt::gp::gp_program&, std::stack > >&, blt::gp::type const&, unsigned long)#1}&&, blt::gp::generator_arguments const&) (in /home/brett/Documents/code/c++/blt-gp/cmake-build-release/blt-gp4-example) + n1: 2090304 0x13A8CA: blt::gp::ramped_half_initializer_t::generate(blt::gp::initializer_arguments const&) (in /home/brett/Documents/code/c++/blt-gp/cmake-build-release/blt-gp4-example) + n0: 2090304 0x117EA1: main (in /home/brett/Documents/code/c++/blt-gp/cmake-build-release/blt-gp4-example) + n1: 277248 0x138197: blt::gp::tree_t blt::gp::create_tree > >&, blt::gp::type const&, unsigned long)#1}>(blt::gp::grow_generator_t::generate(blt::gp::generator_arguments const&)::{lambda(blt::gp::gp_program&, std::stack > >&, blt::gp::type const&, unsigned long)#1}&&, blt::gp::generator_arguments const&) (in /home/brett/Documents/code/c++/blt-gp/cmake-build-release/blt-gp4-example) + n1: 277248 0x13AB4A: blt::gp::ramped_half_initializer_t::generate(blt::gp::initializer_arguments const&) (in /home/brett/Documents/code/c++/blt-gp/cmake-build-release/blt-gp4-example) + n0: 277248 0x117EA1: main (in /home/brett/Documents/code/c++/blt-gp/cmake-build-release/blt-gp4-example) + n0: 109242 in 25 places, all below massif's threshold (1.00%) +#----------- +snapshot=24 +#----------- +time=22707878 +mem_heap_B=6519546 +mem_heap_extra_B=1040198 +mem_stacks_B=0 +heap_tree=empty +#----------- +snapshot=25 +#----------- +time=23478585 +mem_heap_B=6650906 +mem_heap_extra_B=1043606 +mem_stacks_B=0 +heap_tree=detailed +n3: 6650906 (heap allocation functions) malloc/new/new[], --alloc-fns, etc. + n2: 4038656 0x11A334: std::_Function_handler::make_callable() const::{lambda(void*, blt::gp::stack_allocator&, blt::gp::stack_allocator&)#1}>::_M_invoke(std::_Any_data const&, void*&&, blt::gp::stack_allocator&, blt::gp::stack_allocator&) (in /home/brett/Documents/code/c++/blt-gp/cmake-build-release/blt-gp4-example) + n1: 2080768 0x133A5B: blt::gp::tree_t blt::gp::create_tree > >&, blt::gp::type const&, unsigned long)#1}>(blt::gp::full_generator_t::generate(blt::gp::generator_arguments const&)::{lambda(blt::gp::gp_program&, std::stack > >&, blt::gp::type const&, unsigned long)#1}&&, blt::gp::generator_arguments const&) (in /home/brett/Documents/code/c++/blt-gp/cmake-build-release/blt-gp4-example) + n1: 2080768 0x13A8CA: blt::gp::ramped_half_initializer_t::generate(blt::gp::initializer_arguments const&) (in /home/brett/Documents/code/c++/blt-gp/cmake-build-release/blt-gp4-example) + n0: 2080768 0x117EA1: main (in /home/brett/Documents/code/c++/blt-gp/cmake-build-release/blt-gp4-example) + n1: 1957888 0x136AAB: blt::gp::tree_t blt::gp::create_tree > >&, blt::gp::type const&, unsigned long)#1}>(blt::gp::grow_generator_t::generate(blt::gp::generator_arguments const&)::{lambda(blt::gp::gp_program&, std::stack > >&, blt::gp::type const&, unsigned long)#1}&&, blt::gp::generator_arguments const&) (in /home/brett/Documents/code/c++/blt-gp/cmake-build-release/blt-gp4-example) + n1: 1957888 0x13AB4A: blt::gp::ramped_half_initializer_t::generate(blt::gp::initializer_arguments const&) (in /home/brett/Documents/code/c++/blt-gp/cmake-build-release/blt-gp4-example) + n0: 1957888 0x117EA1: main (in /home/brett/Documents/code/c++/blt-gp/cmake-build-release/blt-gp4-example) + n2: 2503008 0x13B14D: void std::vector >::_M_realloc_insert&, std::function&, bool>(__gnu_cxx::__normal_iterator > >, std::function&, std::function&, bool&&) (in /home/brett/Documents/code/c++/blt-gp/cmake-build-release/blt-gp4-example) + n1: 2213184 0x134DBF: blt::gp::tree_t blt::gp::create_tree > >&, blt::gp::type const&, unsigned long)#1}>(blt::gp::full_generator_t::generate(blt::gp::generator_arguments const&)::{lambda(blt::gp::gp_program&, std::stack > >&, blt::gp::type const&, unsigned long)#1}&&, blt::gp::generator_arguments const&) (in /home/brett/Documents/code/c++/blt-gp/cmake-build-release/blt-gp4-example) + n1: 2213184 0x13A8CA: blt::gp::ramped_half_initializer_t::generate(blt::gp::initializer_arguments const&) (in /home/brett/Documents/code/c++/blt-gp/cmake-build-release/blt-gp4-example) + n0: 2213184 0x117EA1: main (in /home/brett/Documents/code/c++/blt-gp/cmake-build-release/blt-gp4-example) + n1: 289824 0x138197: blt::gp::tree_t blt::gp::create_tree > >&, blt::gp::type const&, unsigned long)#1}>(blt::gp::grow_generator_t::generate(blt::gp::generator_arguments const&)::{lambda(blt::gp::gp_program&, std::stack > >&, blt::gp::type const&, unsigned long)#1}&&, blt::gp::generator_arguments const&) (in /home/brett/Documents/code/c++/blt-gp/cmake-build-release/blt-gp4-example) + n1: 289824 0x13AB4A: blt::gp::ramped_half_initializer_t::generate(blt::gp::initializer_arguments const&) (in /home/brett/Documents/code/c++/blt-gp/cmake-build-release/blt-gp4-example) + n0: 289824 0x117EA1: main (in /home/brett/Documents/code/c++/blt-gp/cmake-build-release/blt-gp4-example) + n0: 109242 in 25 places, all below massif's threshold (1.00%) +#----------- +snapshot=26 +#----------- +time=24434919 +mem_heap_B=6896890 +mem_heap_extra_B=1047822 +mem_stacks_B=0 +heap_tree=peak +n3: 6896890 (heap allocation functions) malloc/new/new[], --alloc-fns, etc. + n2: 4087808 0x11A334: std::_Function_handler::make_callable() const::{lambda(void*, blt::gp::stack_allocator&, blt::gp::stack_allocator&)#1}>::_M_invoke(std::_Any_data const&, void*&&, blt::gp::stack_allocator&, blt::gp::stack_allocator&) (in /home/brett/Documents/code/c++/blt-gp/cmake-build-release/blt-gp4-example) + n2: 2097152 0x133A5B: blt::gp::tree_t blt::gp::create_tree > >&, blt::gp::type const&, unsigned long)#1}>(blt::gp::full_generator_t::generate(blt::gp::generator_arguments const&)::{lambda(blt::gp::gp_program&, std::stack > >&, blt::gp::type const&, unsigned long)#1}&&, blt::gp::generator_arguments const&) (in /home/brett/Documents/code/c++/blt-gp/cmake-build-release/blt-gp4-example) + n1: 2088960 0x13A8CA: blt::gp::ramped_half_initializer_t::generate(blt::gp::initializer_arguments const&) (in /home/brett/Documents/code/c++/blt-gp/cmake-build-release/blt-gp4-example) + n0: 2088960 0x117EA1: main (in /home/brett/Documents/code/c++/blt-gp/cmake-build-release/blt-gp4-example) + n0: 8192 in 1 place, below massif's threshold (1.00%) + n2: 1990656 0x136AAB: blt::gp::tree_t blt::gp::create_tree > >&, blt::gp::type const&, unsigned long)#1}>(blt::gp::grow_generator_t::generate(blt::gp::generator_arguments const&)::{lambda(blt::gp::gp_program&, std::stack > >&, blt::gp::type const&, unsigned long)#1}&&, blt::gp::generator_arguments const&) (in /home/brett/Documents/code/c++/blt-gp/cmake-build-release/blt-gp4-example) + n1: 1982464 0x13AB4A: blt::gp::ramped_half_initializer_t::generate(blt::gp::initializer_arguments const&) (in /home/brett/Documents/code/c++/blt-gp/cmake-build-release/blt-gp4-example) + n0: 1982464 0x117EA1: main (in /home/brett/Documents/code/c++/blt-gp/cmake-build-release/blt-gp4-example) + n0: 8192 in 1 place, below massif's threshold (1.00%) + n2: 2691648 0x13B14D: void std::vector >::_M_realloc_insert&, std::function&, bool>(__gnu_cxx::__normal_iterator > >, std::function&, std::function&, bool&&) (in /home/brett/Documents/code/c++/blt-gp/cmake-build-release/blt-gp4-example) + n2: 2385216 0x134DBF: blt::gp::tree_t blt::gp::create_tree > >&, blt::gp::type const&, unsigned long)#1}>(blt::gp::full_generator_t::generate(blt::gp::generator_arguments const&)::{lambda(blt::gp::gp_program&, std::stack > >&, blt::gp::type const&, unsigned long)#1}&&, blt::gp::generator_arguments const&) (in /home/brett/Documents/code/c++/blt-gp/cmake-build-release/blt-gp4-example) + n1: 2237760 0x13A8CA: blt::gp::ramped_half_initializer_t::generate(blt::gp::initializer_arguments const&) (in /home/brett/Documents/code/c++/blt-gp/cmake-build-release/blt-gp4-example) + n0: 2237760 0x117EA1: main (in /home/brett/Documents/code/c++/blt-gp/cmake-build-release/blt-gp4-example) + n1: 147456 0x13ACE8: blt::gp::ramped_half_initializer_t::generate(blt::gp::initializer_arguments const&) (in /home/brett/Documents/code/c++/blt-gp/cmake-build-release/blt-gp4-example) + n0: 147456 0x117EA1: main (in /home/brett/Documents/code/c++/blt-gp/cmake-build-release/blt-gp4-example) + n2: 306432 0x138197: blt::gp::tree_t blt::gp::create_tree > >&, blt::gp::type const&, unsigned long)#1}>(blt::gp::grow_generator_t::generate(blt::gp::generator_arguments const&)::{lambda(blt::gp::gp_program&, std::stack > >&, blt::gp::type const&, unsigned long)#1}&&, blt::gp::generator_arguments const&) (in /home/brett/Documents/code/c++/blt-gp/cmake-build-release/blt-gp4-example) + n1: 303360 0x13AB4A: blt::gp::ramped_half_initializer_t::generate(blt::gp::initializer_arguments const&) (in /home/brett/Documents/code/c++/blt-gp/cmake-build-release/blt-gp4-example) + n0: 303360 0x117EA1: main (in /home/brett/Documents/code/c++/blt-gp/cmake-build-release/blt-gp4-example) + n0: 3072 in 1 place, below massif's threshold (1.00%) + n0: 117434 in 26 places, all below massif's threshold (1.00%) +#----------- +snapshot=27 +#----------- +time=25826867 +mem_heap_B=6862810 +mem_heap_extra_B=1048886 +mem_stacks_B=0 +heap_tree=empty +#----------- +snapshot=28 +#----------- +time=26523968 +mem_heap_B=6861755 +mem_heap_extra_B=1048829 +mem_stacks_B=0 +heap_tree=empty +#----------- +snapshot=29 +#----------- +time=27683208 +mem_heap_B=6861866 +mem_heap_extra_B=1048830 +mem_stacks_B=0 +heap_tree=empty +#----------- +snapshot=30 +#----------- +time=28611087 +mem_heap_B=6862138 +mem_heap_extra_B=1048886 +mem_stacks_B=0 +heap_tree=empty +#----------- +snapshot=31 +#----------- +time=29772082 +mem_heap_B=6861755 +mem_heap_extra_B=1048829 +mem_stacks_B=0 +heap_tree=empty +#----------- +snapshot=32 +#----------- +time=30468590 +mem_heap_B=6862780 +mem_heap_extra_B=1048884 +mem_stacks_B=0 +heap_tree=empty +#----------- +snapshot=33 +#----------- +time=31626838 +mem_heap_B=6862554 +mem_heap_extra_B=1048878 +mem_stacks_B=0 +heap_tree=detailed +n3: 6862554 (heap allocation functions) malloc/new/new[], --alloc-fns, etc. + n2: 4096000 0x11A334: std::_Function_handler::make_callable() const::{lambda(void*, blt::gp::stack_allocator&, blt::gp::stack_allocator&)#1}>::_M_invoke(std::_Any_data const&, void*&&, blt::gp::stack_allocator&, blt::gp::stack_allocator&) (in /home/brett/Documents/code/c++/blt-gp/cmake-build-release/blt-gp4-example) + n2: 2097152 0x133A5B: blt::gp::tree_t blt::gp::create_tree > >&, blt::gp::type const&, unsigned long)#1}>(blt::gp::full_generator_t::generate(blt::gp::generator_arguments const&)::{lambda(blt::gp::gp_program&, std::stack > >&, blt::gp::type const&, unsigned long)#1}&&, blt::gp::generator_arguments const&) (in /home/brett/Documents/code/c++/blt-gp/cmake-build-release/blt-gp4-example) + n1: 2088960 0x13A8CA: blt::gp::ramped_half_initializer_t::generate(blt::gp::initializer_arguments const&) (in /home/brett/Documents/code/c++/blt-gp/cmake-build-release/blt-gp4-example) + n0: 2088960 0x117EA1: main (in /home/brett/Documents/code/c++/blt-gp/cmake-build-release/blt-gp4-example) + n0: 8192 in 1 place, below massif's threshold (1.00%) + n2: 1998848 0x136AAB: blt::gp::tree_t blt::gp::create_tree > >&, blt::gp::type const&, unsigned long)#1}>(blt::gp::grow_generator_t::generate(blt::gp::generator_arguments const&)::{lambda(blt::gp::gp_program&, std::stack > >&, blt::gp::type const&, unsigned long)#1}&&, blt::gp::generator_arguments const&) (in /home/brett/Documents/code/c++/blt-gp/cmake-build-release/blt-gp4-example) + n1: 1982464 0x13AB4A: blt::gp::ramped_half_initializer_t::generate(blt::gp::initializer_arguments const&) (in /home/brett/Documents/code/c++/blt-gp/cmake-build-release/blt-gp4-example) + n0: 1982464 0x117EA1: main (in /home/brett/Documents/code/c++/blt-gp/cmake-build-release/blt-gp4-example) + n0: 16384 in 1 place, below massif's threshold (1.00%) + n2: 2645568 0x13B14D: void std::vector >::_M_realloc_insert&, std::function&, bool>(__gnu_cxx::__normal_iterator > >, std::function&, std::function&, bool&&) (in /home/brett/Documents/code/c++/blt-gp/cmake-build-release/blt-gp4-example) + n2: 2336064 0x134DBF: blt::gp::tree_t blt::gp::create_tree > >&, blt::gp::type const&, unsigned long)#1}>(blt::gp::full_generator_t::generate(blt::gp::generator_arguments const&)::{lambda(blt::gp::gp_program&, std::stack > >&, blt::gp::type const&, unsigned long)#1}&&, blt::gp::generator_arguments const&) (in /home/brett/Documents/code/c++/blt-gp/cmake-build-release/blt-gp4-example) + n1: 2237760 0x13A8CA: blt::gp::ramped_half_initializer_t::generate(blt::gp::initializer_arguments const&) (in /home/brett/Documents/code/c++/blt-gp/cmake-build-release/blt-gp4-example) + n0: 2237760 0x117EA1: main (in /home/brett/Documents/code/c++/blt-gp/cmake-build-release/blt-gp4-example) + n1: 98304 0x13ACE8: blt::gp::ramped_half_initializer_t::generate(blt::gp::initializer_arguments const&) (in /home/brett/Documents/code/c++/blt-gp/cmake-build-release/blt-gp4-example) + n0: 98304 0x117EA1: main (in /home/brett/Documents/code/c++/blt-gp/cmake-build-release/blt-gp4-example) + n2: 309504 0x138197: blt::gp::tree_t blt::gp::create_tree > >&, blt::gp::type const&, unsigned long)#1}>(blt::gp::grow_generator_t::generate(blt::gp::generator_arguments const&)::{lambda(blt::gp::gp_program&, std::stack > >&, blt::gp::type const&, unsigned long)#1}&&, blt::gp::generator_arguments const&) (in /home/brett/Documents/code/c++/blt-gp/cmake-build-release/blt-gp4-example) + n1: 303360 0x13AB4A: blt::gp::ramped_half_initializer_t::generate(blt::gp::initializer_arguments const&) (in /home/brett/Documents/code/c++/blt-gp/cmake-build-release/blt-gp4-example) + n0: 303360 0x117EA1: main (in /home/brett/Documents/code/c++/blt-gp/cmake-build-release/blt-gp4-example) + n0: 6144 in 1 place, below massif's threshold (1.00%) + n0: 120986 in 48 places, all below massif's threshold (1.00%) +#----------- +snapshot=34 +#----------- +time=32321809 +mem_heap_B=6862486 +mem_heap_extra_B=1048890 +mem_stacks_B=0 +heap_tree=empty +#----------- +snapshot=35 +#----------- +time=33711397 +mem_heap_B=6862173 +mem_heap_extra_B=1048875 +mem_stacks_B=0 +heap_tree=empty +#----------- +snapshot=36 +#----------- +time=34406488 +mem_heap_B=6862041 +mem_heap_extra_B=1048863 +mem_stacks_B=0 +heap_tree=empty +#----------- +snapshot=37 +#----------- +time=35451461 +mem_heap_B=6871449 +mem_heap_extra_B=1049815 +mem_stacks_B=0 +heap_tree=empty +#----------- +snapshot=38 +#----------- +time=36841447 +mem_heap_B=6862749 +mem_heap_extra_B=1048875 +mem_stacks_B=0 +heap_tree=empty +#----------- +snapshot=39 +#----------- +time=37890945 +mem_heap_B=6872649 +mem_heap_extra_B=1049815 +mem_stacks_B=0 +heap_tree=empty +#----------- +snapshot=40 +#----------- +time=39287344 +mem_heap_B=6876409 +mem_heap_extra_B=1049751 +mem_stacks_B=0 +heap_tree=empty +#----------- +snapshot=41 +#----------- +time=40330729 +mem_heap_B=6862426 +mem_heap_extra_B=1048886 +mem_stacks_B=0 +heap_tree=empty +#----------- +snapshot=42 +#----------- +time=41025900 +mem_heap_B=6862780 +mem_heap_extra_B=1048884 +mem_stacks_B=0 +heap_tree=empty +#----------- +snapshot=43 +#----------- +time=42068300 +mem_heap_B=6861920 +mem_heap_extra_B=1048848 +mem_stacks_B=0 +heap_tree=detailed +n3: 6861920 (heap allocation functions) malloc/new/new[], --alloc-fns, etc. + n2: 4096000 0x11A334: std::_Function_handler::make_callable() const::{lambda(void*, blt::gp::stack_allocator&, blt::gp::stack_allocator&)#1}>::_M_invoke(std::_Any_data const&, void*&&, blt::gp::stack_allocator&, blt::gp::stack_allocator&) (in /home/brett/Documents/code/c++/blt-gp/cmake-build-release/blt-gp4-example) + n2: 2097152 0x133A5B: blt::gp::tree_t blt::gp::create_tree > >&, blt::gp::type const&, unsigned long)#1}>(blt::gp::full_generator_t::generate(blt::gp::generator_arguments const&)::{lambda(blt::gp::gp_program&, std::stack > >&, blt::gp::type const&, unsigned long)#1}&&, blt::gp::generator_arguments const&) (in /home/brett/Documents/code/c++/blt-gp/cmake-build-release/blt-gp4-example) + n1: 2088960 0x13A8CA: blt::gp::ramped_half_initializer_t::generate(blt::gp::initializer_arguments const&) (in /home/brett/Documents/code/c++/blt-gp/cmake-build-release/blt-gp4-example) + n0: 2088960 0x117EA1: main (in /home/brett/Documents/code/c++/blt-gp/cmake-build-release/blt-gp4-example) + n0: 8192 in 1 place, below massif's threshold (1.00%) + n2: 1998848 0x136AAB: blt::gp::tree_t blt::gp::create_tree > >&, blt::gp::type const&, unsigned long)#1}>(blt::gp::grow_generator_t::generate(blt::gp::generator_arguments const&)::{lambda(blt::gp::gp_program&, std::stack > >&, blt::gp::type const&, unsigned long)#1}&&, blt::gp::generator_arguments const&) (in /home/brett/Documents/code/c++/blt-gp/cmake-build-release/blt-gp4-example) + n1: 1982464 0x13AB4A: blt::gp::ramped_half_initializer_t::generate(blt::gp::initializer_arguments const&) (in /home/brett/Documents/code/c++/blt-gp/cmake-build-release/blt-gp4-example) + n0: 1982464 0x117EA1: main (in /home/brett/Documents/code/c++/blt-gp/cmake-build-release/blt-gp4-example) + n0: 16384 in 1 place, below massif's threshold (1.00%) + n2: 2645568 0x13B14D: void std::vector >::_M_realloc_insert&, std::function&, bool>(__gnu_cxx::__normal_iterator > >, std::function&, std::function&, bool&&) (in /home/brett/Documents/code/c++/blt-gp/cmake-build-release/blt-gp4-example) + n2: 2336064 0x134DBF: blt::gp::tree_t blt::gp::create_tree > >&, blt::gp::type const&, unsigned long)#1}>(blt::gp::full_generator_t::generate(blt::gp::generator_arguments const&)::{lambda(blt::gp::gp_program&, std::stack > >&, blt::gp::type const&, unsigned long)#1}&&, blt::gp::generator_arguments const&) (in /home/brett/Documents/code/c++/blt-gp/cmake-build-release/blt-gp4-example) + n1: 2237760 0x13A8CA: blt::gp::ramped_half_initializer_t::generate(blt::gp::initializer_arguments const&) (in /home/brett/Documents/code/c++/blt-gp/cmake-build-release/blt-gp4-example) + n0: 2237760 0x117EA1: main (in /home/brett/Documents/code/c++/blt-gp/cmake-build-release/blt-gp4-example) + n1: 98304 0x13ACE8: blt::gp::ramped_half_initializer_t::generate(blt::gp::initializer_arguments const&) (in /home/brett/Documents/code/c++/blt-gp/cmake-build-release/blt-gp4-example) + n0: 98304 0x117EA1: main (in /home/brett/Documents/code/c++/blt-gp/cmake-build-release/blt-gp4-example) + n2: 309504 0x138197: blt::gp::tree_t blt::gp::create_tree > >&, blt::gp::type const&, unsigned long)#1}>(blt::gp::grow_generator_t::generate(blt::gp::generator_arguments const&)::{lambda(blt::gp::gp_program&, std::stack > >&, blt::gp::type const&, unsigned long)#1}&&, blt::gp::generator_arguments const&) (in /home/brett/Documents/code/c++/blt-gp/cmake-build-release/blt-gp4-example) + n1: 303360 0x13AB4A: blt::gp::ramped_half_initializer_t::generate(blt::gp::initializer_arguments const&) (in /home/brett/Documents/code/c++/blt-gp/cmake-build-release/blt-gp4-example) + n0: 303360 0x117EA1: main (in /home/brett/Documents/code/c++/blt-gp/cmake-build-release/blt-gp4-example) + n0: 6144 in 1 place, below massif's threshold (1.00%) + n0: 120352 in 48 places, all below massif's threshold (1.00%) +#----------- +snapshot=44 +#----------- +time=43112425 +mem_heap_B=6862749 +mem_heap_extra_B=1048875 +mem_stacks_B=0 +heap_tree=empty +#----------- +snapshot=45 +#----------- +time=44162155 +mem_heap_B=6874569 +mem_heap_extra_B=1049815 +mem_stacks_B=0 +heap_tree=empty +#----------- +snapshot=46 +#----------- +time=45551999 +mem_heap_B=6862554 +mem_heap_extra_B=1048878 +mem_stacks_B=0 +heap_tree=detailed +n3: 6862554 (heap allocation functions) malloc/new/new[], --alloc-fns, etc. + n2: 4096000 0x11A334: std::_Function_handler::make_callable() const::{lambda(void*, blt::gp::stack_allocator&, blt::gp::stack_allocator&)#1}>::_M_invoke(std::_Any_data const&, void*&&, blt::gp::stack_allocator&, blt::gp::stack_allocator&) (in /home/brett/Documents/code/c++/blt-gp/cmake-build-release/blt-gp4-example) + n2: 2097152 0x133A5B: blt::gp::tree_t blt::gp::create_tree > >&, blt::gp::type const&, unsigned long)#1}>(blt::gp::full_generator_t::generate(blt::gp::generator_arguments const&)::{lambda(blt::gp::gp_program&, std::stack > >&, blt::gp::type const&, unsigned long)#1}&&, blt::gp::generator_arguments const&) (in /home/brett/Documents/code/c++/blt-gp/cmake-build-release/blt-gp4-example) + n1: 2088960 0x13A8CA: blt::gp::ramped_half_initializer_t::generate(blt::gp::initializer_arguments const&) (in /home/brett/Documents/code/c++/blt-gp/cmake-build-release/blt-gp4-example) + n0: 2088960 0x117EA1: main (in /home/brett/Documents/code/c++/blt-gp/cmake-build-release/blt-gp4-example) + n0: 8192 in 1 place, below massif's threshold (1.00%) + n2: 1998848 0x136AAB: blt::gp::tree_t blt::gp::create_tree > >&, blt::gp::type const&, unsigned long)#1}>(blt::gp::grow_generator_t::generate(blt::gp::generator_arguments const&)::{lambda(blt::gp::gp_program&, std::stack > >&, blt::gp::type const&, unsigned long)#1}&&, blt::gp::generator_arguments const&) (in /home/brett/Documents/code/c++/blt-gp/cmake-build-release/blt-gp4-example) + n1: 1982464 0x13AB4A: blt::gp::ramped_half_initializer_t::generate(blt::gp::initializer_arguments const&) (in /home/brett/Documents/code/c++/blt-gp/cmake-build-release/blt-gp4-example) + n0: 1982464 0x117EA1: main (in /home/brett/Documents/code/c++/blt-gp/cmake-build-release/blt-gp4-example) + n0: 16384 in 1 place, below massif's threshold (1.00%) + n2: 2645568 0x13B14D: void std::vector >::_M_realloc_insert&, std::function&, bool>(__gnu_cxx::__normal_iterator > >, std::function&, std::function&, bool&&) (in /home/brett/Documents/code/c++/blt-gp/cmake-build-release/blt-gp4-example) + n2: 2336064 0x134DBF: blt::gp::tree_t blt::gp::create_tree > >&, blt::gp::type const&, unsigned long)#1}>(blt::gp::full_generator_t::generate(blt::gp::generator_arguments const&)::{lambda(blt::gp::gp_program&, std::stack > >&, blt::gp::type const&, unsigned long)#1}&&, blt::gp::generator_arguments const&) (in /home/brett/Documents/code/c++/blt-gp/cmake-build-release/blt-gp4-example) + n1: 2237760 0x13A8CA: blt::gp::ramped_half_initializer_t::generate(blt::gp::initializer_arguments const&) (in /home/brett/Documents/code/c++/blt-gp/cmake-build-release/blt-gp4-example) + n0: 2237760 0x117EA1: main (in /home/brett/Documents/code/c++/blt-gp/cmake-build-release/blt-gp4-example) + n1: 98304 0x13ACE8: blt::gp::ramped_half_initializer_t::generate(blt::gp::initializer_arguments const&) (in /home/brett/Documents/code/c++/blt-gp/cmake-build-release/blt-gp4-example) + n0: 98304 0x117EA1: main (in /home/brett/Documents/code/c++/blt-gp/cmake-build-release/blt-gp4-example) + n2: 309504 0x138197: blt::gp::tree_t blt::gp::create_tree > >&, blt::gp::type const&, unsigned long)#1}>(blt::gp::grow_generator_t::generate(blt::gp::generator_arguments const&)::{lambda(blt::gp::gp_program&, std::stack > >&, blt::gp::type const&, unsigned long)#1}&&, blt::gp::generator_arguments const&) (in /home/brett/Documents/code/c++/blt-gp/cmake-build-release/blt-gp4-example) + n1: 303360 0x13AB4A: blt::gp::ramped_half_initializer_t::generate(blt::gp::initializer_arguments const&) (in /home/brett/Documents/code/c++/blt-gp/cmake-build-release/blt-gp4-example) + n0: 303360 0x117EA1: main (in /home/brett/Documents/code/c++/blt-gp/cmake-build-release/blt-gp4-example) + n0: 6144 in 1 place, below massif's threshold (1.00%) + n0: 120986 in 48 places, all below massif's threshold (1.00%) +#----------- +snapshot=47 +#----------- +time=46594253 +mem_heap_B=6862138 +mem_heap_extra_B=1048886 +mem_stacks_B=0 +heap_tree=empty +#----------- +snapshot=48 +#----------- +time=47639603 +mem_heap_B=6862810 +mem_heap_extra_B=1048886 +mem_stacks_B=0 +heap_tree=empty +#----------- +snapshot=49 +#----------- +time=48342516 +mem_heap_B=6885601 +mem_heap_extra_B=1049743 +mem_stacks_B=0 +heap_tree=empty +#----------- +snapshot=50 +#----------- +time=48903723 +mem_heap_B=6861981 +mem_heap_extra_B=1048859 +mem_stacks_B=0 +heap_tree=empty +#----------- +snapshot=51 +#----------- +time=49464957 +mem_heap_B=6862749 +mem_heap_extra_B=1048875 +mem_stacks_B=0 +heap_tree=detailed +n3: 6862749 (heap allocation functions) malloc/new/new[], --alloc-fns, etc. + n2: 4096000 0x11A334: std::_Function_handler::make_callable() const::{lambda(void*, blt::gp::stack_allocator&, blt::gp::stack_allocator&)#1}>::_M_invoke(std::_Any_data const&, void*&&, blt::gp::stack_allocator&, blt::gp::stack_allocator&) (in /home/brett/Documents/code/c++/blt-gp/cmake-build-release/blt-gp4-example) + n2: 2097152 0x133A5B: blt::gp::tree_t blt::gp::create_tree > >&, blt::gp::type const&, unsigned long)#1}>(blt::gp::full_generator_t::generate(blt::gp::generator_arguments const&)::{lambda(blt::gp::gp_program&, std::stack > >&, blt::gp::type const&, unsigned long)#1}&&, blt::gp::generator_arguments const&) (in /home/brett/Documents/code/c++/blt-gp/cmake-build-release/blt-gp4-example) + n1: 2088960 0x13A8CA: blt::gp::ramped_half_initializer_t::generate(blt::gp::initializer_arguments const&) (in /home/brett/Documents/code/c++/blt-gp/cmake-build-release/blt-gp4-example) + n0: 2088960 0x117EA1: main (in /home/brett/Documents/code/c++/blt-gp/cmake-build-release/blt-gp4-example) + n0: 8192 in 1 place, below massif's threshold (1.00%) + n2: 1998848 0x136AAB: blt::gp::tree_t blt::gp::create_tree > >&, blt::gp::type const&, unsigned long)#1}>(blt::gp::grow_generator_t::generate(blt::gp::generator_arguments const&)::{lambda(blt::gp::gp_program&, std::stack > >&, blt::gp::type const&, unsigned long)#1}&&, blt::gp::generator_arguments const&) (in /home/brett/Documents/code/c++/blt-gp/cmake-build-release/blt-gp4-example) + n1: 1982464 0x13AB4A: blt::gp::ramped_half_initializer_t::generate(blt::gp::initializer_arguments const&) (in /home/brett/Documents/code/c++/blt-gp/cmake-build-release/blt-gp4-example) + n0: 1982464 0x117EA1: main (in /home/brett/Documents/code/c++/blt-gp/cmake-build-release/blt-gp4-example) + n0: 16384 in 1 place, below massif's threshold (1.00%) + n2: 2645568 0x13B14D: void std::vector >::_M_realloc_insert&, std::function&, bool>(__gnu_cxx::__normal_iterator > >, std::function&, std::function&, bool&&) (in /home/brett/Documents/code/c++/blt-gp/cmake-build-release/blt-gp4-example) + n2: 2336064 0x134DBF: blt::gp::tree_t blt::gp::create_tree > >&, blt::gp::type const&, unsigned long)#1}>(blt::gp::full_generator_t::generate(blt::gp::generator_arguments const&)::{lambda(blt::gp::gp_program&, std::stack > >&, blt::gp::type const&, unsigned long)#1}&&, blt::gp::generator_arguments const&) (in /home/brett/Documents/code/c++/blt-gp/cmake-build-release/blt-gp4-example) + n1: 2237760 0x13A8CA: blt::gp::ramped_half_initializer_t::generate(blt::gp::initializer_arguments const&) (in /home/brett/Documents/code/c++/blt-gp/cmake-build-release/blt-gp4-example) + n0: 2237760 0x117EA1: main (in /home/brett/Documents/code/c++/blt-gp/cmake-build-release/blt-gp4-example) + n1: 98304 0x13ACE8: blt::gp::ramped_half_initializer_t::generate(blt::gp::initializer_arguments const&) (in /home/brett/Documents/code/c++/blt-gp/cmake-build-release/blt-gp4-example) + n0: 98304 0x117EA1: main (in /home/brett/Documents/code/c++/blt-gp/cmake-build-release/blt-gp4-example) + n2: 309504 0x138197: blt::gp::tree_t blt::gp::create_tree > >&, blt::gp::type const&, unsigned long)#1}>(blt::gp::grow_generator_t::generate(blt::gp::generator_arguments const&)::{lambda(blt::gp::gp_program&, std::stack > >&, blt::gp::type const&, unsigned long)#1}&&, blt::gp::generator_arguments const&) (in /home/brett/Documents/code/c++/blt-gp/cmake-build-release/blt-gp4-example) + n1: 303360 0x13AB4A: blt::gp::ramped_half_initializer_t::generate(blt::gp::initializer_arguments const&) (in /home/brett/Documents/code/c++/blt-gp/cmake-build-release/blt-gp4-example) + n0: 303360 0x117EA1: main (in /home/brett/Documents/code/c++/blt-gp/cmake-build-release/blt-gp4-example) + n0: 6144 in 1 place, below massif's threshold (1.00%) + n0: 121181 in 48 places, all below massif's threshold (1.00%) +#----------- +snapshot=52 +#----------- +time=50031067 +mem_heap_B=6883345 +mem_heap_extra_B=1049743 +mem_stacks_B=0 +heap_tree=empty +#----------- +snapshot=53 +#----------- +time=50592512 +mem_heap_B=6875617 +mem_heap_extra_B=1049743 +mem_stacks_B=0 +heap_tree=empty +#----------- +snapshot=54 +#----------- +time=51153615 +mem_heap_B=6862524 +mem_heap_extra_B=1048876 +mem_stacks_B=0 +heap_tree=empty +#----------- +snapshot=55 +#----------- +time=51728393 +mem_heap_B=6882081 +mem_heap_extra_B=1049807 +mem_stacks_B=0 +heap_tree=empty +#----------- +snapshot=56 +#----------- +time=52289472 +mem_heap_B=6862614 +mem_heap_extra_B=1048882 +mem_stacks_B=0 +heap_tree=empty +#----------- +snapshot=57 +#----------- +time=52850366 +mem_heap_B=6861920 +mem_heap_extra_B=1048848 +mem_stacks_B=0 +heap_tree=empty +#----------- +snapshot=58 +#----------- +time=53424974 +mem_heap_B=6898417 +mem_heap_extra_B=1049743 +mem_stacks_B=0 +heap_tree=empty +#----------- +snapshot=59 +#----------- +time=54043309 +mem_heap_B=6894417 +mem_heap_extra_B=1049711 +mem_stacks_B=0 +heap_tree=empty +#----------- +snapshot=60 +#----------- +time=54608459 +mem_heap_B=6906993 +mem_heap_extra_B=1050631 +mem_stacks_B=0 +heap_tree=empty +#----------- +snapshot=61 +#----------- +time=55169502 +mem_heap_B=6861951 +mem_heap_extra_B=1048857 +mem_stacks_B=0 +heap_tree=detailed +n3: 6861951 (heap allocation functions) malloc/new/new[], --alloc-fns, etc. + n2: 4096000 0x11A334: std::_Function_handler::make_callable() const::{lambda(void*, blt::gp::stack_allocator&, blt::gp::stack_allocator&)#1}>::_M_invoke(std::_Any_data const&, void*&&, blt::gp::stack_allocator&, blt::gp::stack_allocator&) (in /home/brett/Documents/code/c++/blt-gp/cmake-build-release/blt-gp4-example) + n2: 2097152 0x133A5B: blt::gp::tree_t blt::gp::create_tree > >&, blt::gp::type const&, unsigned long)#1}>(blt::gp::full_generator_t::generate(blt::gp::generator_arguments const&)::{lambda(blt::gp::gp_program&, std::stack > >&, blt::gp::type const&, unsigned long)#1}&&, blt::gp::generator_arguments const&) (in /home/brett/Documents/code/c++/blt-gp/cmake-build-release/blt-gp4-example) + n1: 2088960 0x13A8CA: blt::gp::ramped_half_initializer_t::generate(blt::gp::initializer_arguments const&) (in /home/brett/Documents/code/c++/blt-gp/cmake-build-release/blt-gp4-example) + n0: 2088960 0x117EA1: main (in /home/brett/Documents/code/c++/blt-gp/cmake-build-release/blt-gp4-example) + n0: 8192 in 1 place, below massif's threshold (1.00%) + n2: 1998848 0x136AAB: blt::gp::tree_t blt::gp::create_tree > >&, blt::gp::type const&, unsigned long)#1}>(blt::gp::grow_generator_t::generate(blt::gp::generator_arguments const&)::{lambda(blt::gp::gp_program&, std::stack > >&, blt::gp::type const&, unsigned long)#1}&&, blt::gp::generator_arguments const&) (in /home/brett/Documents/code/c++/blt-gp/cmake-build-release/blt-gp4-example) + n1: 1982464 0x13AB4A: blt::gp::ramped_half_initializer_t::generate(blt::gp::initializer_arguments const&) (in /home/brett/Documents/code/c++/blt-gp/cmake-build-release/blt-gp4-example) + n0: 1982464 0x117EA1: main (in /home/brett/Documents/code/c++/blt-gp/cmake-build-release/blt-gp4-example) + n0: 16384 in 1 place, below massif's threshold (1.00%) + n2: 2645568 0x13B14D: void std::vector >::_M_realloc_insert&, std::function&, bool>(__gnu_cxx::__normal_iterator > >, std::function&, std::function&, bool&&) (in /home/brett/Documents/code/c++/blt-gp/cmake-build-release/blt-gp4-example) + n2: 2336064 0x134DBF: blt::gp::tree_t blt::gp::create_tree > >&, blt::gp::type const&, unsigned long)#1}>(blt::gp::full_generator_t::generate(blt::gp::generator_arguments const&)::{lambda(blt::gp::gp_program&, std::stack > >&, blt::gp::type const&, unsigned long)#1}&&, blt::gp::generator_arguments const&) (in /home/brett/Documents/code/c++/blt-gp/cmake-build-release/blt-gp4-example) + n1: 2237760 0x13A8CA: blt::gp::ramped_half_initializer_t::generate(blt::gp::initializer_arguments const&) (in /home/brett/Documents/code/c++/blt-gp/cmake-build-release/blt-gp4-example) + n0: 2237760 0x117EA1: main (in /home/brett/Documents/code/c++/blt-gp/cmake-build-release/blt-gp4-example) + n1: 98304 0x13ACE8: blt::gp::ramped_half_initializer_t::generate(blt::gp::initializer_arguments const&) (in /home/brett/Documents/code/c++/blt-gp/cmake-build-release/blt-gp4-example) + n0: 98304 0x117EA1: main (in /home/brett/Documents/code/c++/blt-gp/cmake-build-release/blt-gp4-example) + n2: 309504 0x138197: blt::gp::tree_t blt::gp::create_tree > >&, blt::gp::type const&, unsigned long)#1}>(blt::gp::grow_generator_t::generate(blt::gp::generator_arguments const&)::{lambda(blt::gp::gp_program&, std::stack > >&, blt::gp::type const&, unsigned long)#1}&&, blt::gp::generator_arguments const&) (in /home/brett/Documents/code/c++/blt-gp/cmake-build-release/blt-gp4-example) + n1: 303360 0x13AB4A: blt::gp::ramped_half_initializer_t::generate(blt::gp::initializer_arguments const&) (in /home/brett/Documents/code/c++/blt-gp/cmake-build-release/blt-gp4-example) + n0: 303360 0x117EA1: main (in /home/brett/Documents/code/c++/blt-gp/cmake-build-release/blt-gp4-example) + n0: 6144 in 1 place, below massif's threshold (1.00%) + n0: 120383 in 54 places, all below massif's threshold (1.00%) +#----------- +snapshot=62 +#----------- +time=55807631 +mem_heap_B=6897753 +mem_heap_extra_B=1049719 +mem_stacks_B=0 +heap_tree=empty +#----------- +snapshot=63 +#----------- +time=56401249 +mem_heap_B=6890913 +mem_heap_extra_B=1049711 +mem_stacks_B=0 +heap_tree=empty +#----------- +snapshot=64 +#----------- +time=56962233 +mem_heap_B=6862298 +mem_heap_extra_B=1048878 +mem_stacks_B=0 +heap_tree=empty +#----------- +snapshot=65 +#----------- +time=57535392 +mem_heap_B=6897289 +mem_heap_extra_B=1049751 +mem_stacks_B=0 +heap_tree=empty +#----------- +snapshot=66 +#----------- +time=58098604 +mem_heap_B=6901177 +mem_heap_extra_B=1049751 +mem_stacks_B=0 +heap_tree=empty +#----------- +snapshot=67 +#----------- +time=58701004 +mem_heap_B=6890745 +mem_heap_extra_B=1049719 +mem_stacks_B=0 +heap_tree=empty +#----------- +snapshot=68 +#----------- +time=59278667 +mem_heap_B=6896329 +mem_heap_extra_B=1049751 +mem_stacks_B=0 +heap_tree=empty +#----------- +snapshot=69 +#----------- +time=59839865 +mem_heap_B=6862365 +mem_heap_extra_B=1048875 +mem_stacks_B=0 +heap_tree=empty +#----------- +snapshot=70 +#----------- +time=60416924 +mem_heap_B=6898113 +mem_heap_extra_B=1049711 +mem_stacks_B=0 +heap_tree=empty +#----------- +snapshot=71 +#----------- +time=60978365 +mem_heap_B=6862810 +mem_heap_extra_B=1048886 +mem_stacks_B=0 +heap_tree=detailed +n3: 6862810 (heap allocation functions) malloc/new/new[], --alloc-fns, etc. + n2: 4096000 0x11A334: std::_Function_handler::make_callable() const::{lambda(void*, blt::gp::stack_allocator&, blt::gp::stack_allocator&)#1}>::_M_invoke(std::_Any_data const&, void*&&, blt::gp::stack_allocator&, blt::gp::stack_allocator&) (in /home/brett/Documents/code/c++/blt-gp/cmake-build-release/blt-gp4-example) + n2: 2097152 0x133A5B: blt::gp::tree_t blt::gp::create_tree > >&, blt::gp::type const&, unsigned long)#1}>(blt::gp::full_generator_t::generate(blt::gp::generator_arguments const&)::{lambda(blt::gp::gp_program&, std::stack > >&, blt::gp::type const&, unsigned long)#1}&&, blt::gp::generator_arguments const&) (in /home/brett/Documents/code/c++/blt-gp/cmake-build-release/blt-gp4-example) + n1: 2088960 0x13A8CA: blt::gp::ramped_half_initializer_t::generate(blt::gp::initializer_arguments const&) (in /home/brett/Documents/code/c++/blt-gp/cmake-build-release/blt-gp4-example) + n0: 2088960 0x117EA1: main (in /home/brett/Documents/code/c++/blt-gp/cmake-build-release/blt-gp4-example) + n0: 8192 in 1 place, below massif's threshold (1.00%) + n2: 1998848 0x136AAB: blt::gp::tree_t blt::gp::create_tree > >&, blt::gp::type const&, unsigned long)#1}>(blt::gp::grow_generator_t::generate(blt::gp::generator_arguments const&)::{lambda(blt::gp::gp_program&, std::stack > >&, blt::gp::type const&, unsigned long)#1}&&, blt::gp::generator_arguments const&) (in /home/brett/Documents/code/c++/blt-gp/cmake-build-release/blt-gp4-example) + n1: 1982464 0x13AB4A: blt::gp::ramped_half_initializer_t::generate(blt::gp::initializer_arguments const&) (in /home/brett/Documents/code/c++/blt-gp/cmake-build-release/blt-gp4-example) + n0: 1982464 0x117EA1: main (in /home/brett/Documents/code/c++/blt-gp/cmake-build-release/blt-gp4-example) + n0: 16384 in 1 place, below massif's threshold (1.00%) + n2: 2645568 0x13B14D: void std::vector >::_M_realloc_insert&, std::function&, bool>(__gnu_cxx::__normal_iterator > >, std::function&, std::function&, bool&&) (in /home/brett/Documents/code/c++/blt-gp/cmake-build-release/blt-gp4-example) + n2: 2336064 0x134DBF: blt::gp::tree_t blt::gp::create_tree > >&, blt::gp::type const&, unsigned long)#1}>(blt::gp::full_generator_t::generate(blt::gp::generator_arguments const&)::{lambda(blt::gp::gp_program&, std::stack > >&, blt::gp::type const&, unsigned long)#1}&&, blt::gp::generator_arguments const&) (in /home/brett/Documents/code/c++/blt-gp/cmake-build-release/blt-gp4-example) + n1: 2237760 0x13A8CA: blt::gp::ramped_half_initializer_t::generate(blt::gp::initializer_arguments const&) (in /home/brett/Documents/code/c++/blt-gp/cmake-build-release/blt-gp4-example) + n0: 2237760 0x117EA1: main (in /home/brett/Documents/code/c++/blt-gp/cmake-build-release/blt-gp4-example) + n1: 98304 0x13ACE8: blt::gp::ramped_half_initializer_t::generate(blt::gp::initializer_arguments const&) (in /home/brett/Documents/code/c++/blt-gp/cmake-build-release/blt-gp4-example) + n0: 98304 0x117EA1: main (in /home/brett/Documents/code/c++/blt-gp/cmake-build-release/blt-gp4-example) + n2: 309504 0x138197: blt::gp::tree_t blt::gp::create_tree > >&, blt::gp::type const&, unsigned long)#1}>(blt::gp::grow_generator_t::generate(blt::gp::generator_arguments const&)::{lambda(blt::gp::gp_program&, std::stack > >&, blt::gp::type const&, unsigned long)#1}&&, blt::gp::generator_arguments const&) (in /home/brett/Documents/code/c++/blt-gp/cmake-build-release/blt-gp4-example) + n1: 303360 0x13AB4A: blt::gp::ramped_half_initializer_t::generate(blt::gp::initializer_arguments const&) (in /home/brett/Documents/code/c++/blt-gp/cmake-build-release/blt-gp4-example) + n0: 303360 0x117EA1: main (in /home/brett/Documents/code/c++/blt-gp/cmake-build-release/blt-gp4-example) + n0: 6144 in 1 place, below massif's threshold (1.00%) + n0: 121242 in 54 places, all below massif's threshold (1.00%) +#----------- +snapshot=72 +#----------- +time=61539781 +mem_heap_B=6862780 +mem_heap_extra_B=1048884 +mem_stacks_B=0 +heap_tree=empty +#----------- +snapshot=73 +#----------- +time=62112626 +mem_heap_B=6895369 +mem_heap_extra_B=1049751 +mem_stacks_B=0 +heap_tree=empty +#----------- +snapshot=74 +#----------- +time=62673555 +mem_heap_B=6862173 +mem_heap_extra_B=1048875 +mem_stacks_B=0 +heap_tree=empty +#----------- +snapshot=75 +#----------- +time=63234456 +mem_heap_B=6862870 +mem_heap_extra_B=1048890 +mem_stacks_B=0 +heap_tree=empty +#----------- +snapshot=76 +#----------- +time=63795354 +mem_heap_B=6197425 +mem_heap_extra_B=881399 +mem_stacks_B=0 +heap_tree=empty diff --git a/massif.out.15879 b/massif.out.15879 new file mode 100644 index 0000000..0934ba1 --- /dev/null +++ b/massif.out.15879 @@ -0,0 +1,817 @@ +desc: (none) +cmd: ./cmake-build-relwithdebinfo/blt-gp4-example +time_unit: i +#----------- +snapshot=0 +#----------- +time=0 +mem_heap_B=0 +mem_heap_extra_B=0 +mem_stacks_B=0 +heap_tree=empty +#----------- +snapshot=1 +#----------- +time=1845001 +mem_heap_B=72704 +mem_heap_extra_B=8 +mem_stacks_B=0 +heap_tree=empty +#----------- +snapshot=2 +#----------- +time=3473453 +mem_heap_B=1697649 +mem_heap_extra_B=364543 +mem_stacks_B=0 +heap_tree=empty +#----------- +snapshot=3 +#----------- +time=4713692 +mem_heap_B=2378033 +mem_heap_extra_B=464879 +mem_stacks_B=0 +heap_tree=empty +#----------- +snapshot=4 +#----------- +time=5839847 +mem_heap_B=2862321 +mem_heap_extra_B=554927 +mem_stacks_B=0 +heap_tree=detailed +n4: 2862321 (heap allocation functions) malloc/new/new[], --alloc-fns, etc. + n1: 2392064 0x11A764: allocate_block (stack.h:293) + n1: 2392064 0x11A764: push_block (stack.h:273) + n1: 2392064 0x11A764: push_block_for (stack.h:268) + n1: 2392064 0x11A764: allocate_bytes (stack.h:249) + n1: 2392064 0x11A764: push (stack.h:47) + n1: 2392064 0x11A764: operator() (operations.h:165) + n1: 2392064 0x11A764: __invoke_impl::make_callable() const::&, void*, blt::gp::stack_allocator&, blt::gp::stack_allocator&> (invoke.h:61) + n1: 2392064 0x11A764: __invoke_r::make_callable() const::&, void*, blt::gp::stack_allocator&, blt::gp::stack_allocator&> (invoke.h:111) + n2: 2392064 0x11A764: std::_Function_handler::make_callable() const::{lambda(void*, blt::gp::stack_allocator&, blt::gp::stack_allocator&)#1}>::_M_invoke(std::_Any_data const&, void*&&, blt::gp::stack_allocator&, blt::gp::stack_allocator&) (std_function.h:290) + n1: 1261568 0x12B0CA: operator() (std_function.h:591) + n1: 1261568 0x12B0CA: blt::gp::tree_t blt::gp::create_tree > >&, blt::gp::type const&, unsigned long)#1}>(blt::gp::full_generator_t::generate(blt::gp::generator_arguments const&)::{lambda(blt::gp::gp_program&, std::stack > >&, blt::gp::type const&, unsigned long)#1}&&, blt::gp::generator_arguments const&) (generators.cpp:72) + n1: 1261568 0x12C605: generate (generators.cpp:117) + n1: 1261568 0x12C605: blt::gp::ramped_half_initializer_t::generate(blt::gp::initializer_arguments const&) (generators.cpp:167) + n0: 1261568 0x11806D: main (gp_test_4.cpp:79) + n1: 1130496 0x12BAC7: operator() (std_function.h:591) + n1: 1130496 0x12BAC7: blt::gp::tree_t blt::gp::create_tree > >&, blt::gp::type const&, unsigned long)#1}>(blt::gp::grow_generator_t::generate(blt::gp::generator_arguments const&)::{lambda(blt::gp::gp_program&, std::stack > >&, blt::gp::type const&, unsigned long)#1}&&, blt::gp::generator_arguments const&) (generators.cpp:72) + n1: 1130496 0x12C89A: generate (generators.cpp:102) + n1: 1130496 0x12C89A: blt::gp::ramped_half_initializer_t::generate(blt::gp::initializer_arguments const&) (generators.cpp:169) + n0: 1130496 0x11806D: main (gp_test_4.cpp:79) + n1: 357696 0x12CD9D: allocate (new_allocator.h:137) + n1: 357696 0x12CD9D: allocate (alloc_traits.h:464) + n1: 357696 0x12CD9D: _M_allocate (stl_vector.h:378) + n2: 357696 0x12CD9D: void std::vector >::_M_realloc_insert&, std::function&, bool>(__gnu_cxx::__normal_iterator > >, std::function&, std::function&, bool&&) (vector.tcc:453) + n1: 253824 0x12B4D4: emplace_back&, std::function&, bool> (vector.tcc:123) + n1: 253824 0x12B4D4: blt::gp::tree_t blt::gp::create_tree > >&, blt::gp::type const&, unsigned long)#1}>(blt::gp::full_generator_t::generate(blt::gp::generator_arguments const&)::{lambda(blt::gp::gp_program&, std::stack > >&, blt::gp::type const&, unsigned long)#1}&&, blt::gp::generator_arguments const&) (generators.cpp:64) + n1: 253824 0x12C605: generate (generators.cpp:117) + n1: 253824 0x12C605: blt::gp::ramped_half_initializer_t::generate(blt::gp::initializer_arguments const&) (generators.cpp:167) + n0: 253824 0x11806D: main (gp_test_4.cpp:79) + n1: 103872 0x12BF10: emplace_back&, std::function&, bool> (vector.tcc:123) + n1: 103872 0x12BF10: blt::gp::tree_t blt::gp::create_tree > >&, blt::gp::type const&, unsigned long)#1}>(blt::gp::grow_generator_t::generate(blt::gp::generator_arguments const&)::{lambda(blt::gp::gp_program&, std::stack > >&, blt::gp::type const&, unsigned long)#1}&&, blt::gp::generator_arguments const&) (generators.cpp:64) + n1: 103872 0x12C89A: generate (generators.cpp:102) + n1: 103872 0x12C89A: blt::gp::ramped_half_initializer_t::generate(blt::gp::initializer_arguments const&) (generators.cpp:169) + n0: 103872 0x11806D: main (gp_test_4.cpp:79) + n1: 72704 0x49157B9: ??? (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.30) + n1: 72704 0x40049CD: call_init (dl-init.c:74) + n1: 72704 0x40049CD: call_init (dl-init.c:26) + n1: 72704 0x4004AB3: _dl_init (dl-init.c:121) + n0: 72704 0x401AA6F: ??? (in /usr/lib/x86_64-linux-gnu/ld-linux-x86-64.so.2) + n0: 39857 in 33 places, all below massif's threshold (1.00%) +#----------- +snapshot=5 +#----------- +time=7331885 +mem_heap_B=3296625 +mem_heap_extra_B=625455 +mem_stacks_B=0 +heap_tree=empty +#----------- +snapshot=6 +#----------- +time=8454006 +mem_heap_B=3632369 +mem_heap_extra_B=685455 +mem_stacks_B=0 +heap_tree=empty +#----------- +snapshot=7 +#----------- +time=9330102 +mem_heap_B=3825777 +mem_heap_extra_B=711103 +mem_stacks_B=0 +heap_tree=empty +#----------- +snapshot=8 +#----------- +time=10967222 +mem_heap_B=4192561 +mem_heap_extra_B=728527 +mem_stacks_B=0 +heap_tree=empty +#----------- +snapshot=9 +#----------- +time=12056354 +mem_heap_B=4447025 +mem_heap_extra_B=760335 +mem_stacks_B=0 +heap_tree=empty +#----------- +snapshot=10 +#----------- +time=13709549 +mem_heap_B=4833841 +mem_heap_extra_B=826367 +mem_stacks_B=0 +heap_tree=detailed +n4: 4833841 (heap allocation functions) malloc/new/new[], --alloc-fns, etc. + n1: 3514368 0x11A764: allocate_block (stack.h:293) + n1: 3514368 0x11A764: push_block (stack.h:273) + n1: 3514368 0x11A764: push_block_for (stack.h:268) + n1: 3514368 0x11A764: allocate_bytes (stack.h:249) + n1: 3514368 0x11A764: push (stack.h:47) + n1: 3514368 0x11A764: operator() (operations.h:165) + n1: 3514368 0x11A764: __invoke_impl::make_callable() const::&, void*, blt::gp::stack_allocator&, blt::gp::stack_allocator&> (invoke.h:61) + n1: 3514368 0x11A764: __invoke_r::make_callable() const::&, void*, blt::gp::stack_allocator&, blt::gp::stack_allocator&> (invoke.h:111) + n2: 3514368 0x11A764: std::_Function_handler::make_callable() const::{lambda(void*, blt::gp::stack_allocator&, blt::gp::stack_allocator&)#1}>::_M_invoke(std::_Any_data const&, void*&&, blt::gp::stack_allocator&, blt::gp::stack_allocator&) (std_function.h:290) + n1: 1769472 0x12B0CA: operator() (std_function.h:591) + n1: 1769472 0x12B0CA: blt::gp::tree_t blt::gp::create_tree > >&, blt::gp::type const&, unsigned long)#1}>(blt::gp::full_generator_t::generate(blt::gp::generator_arguments const&)::{lambda(blt::gp::gp_program&, std::stack > >&, blt::gp::type const&, unsigned long)#1}&&, blt::gp::generator_arguments const&) (generators.cpp:72) + n1: 1769472 0x12C605: generate (generators.cpp:117) + n1: 1769472 0x12C605: blt::gp::ramped_half_initializer_t::generate(blt::gp::initializer_arguments const&) (generators.cpp:167) + n0: 1769472 0x11806D: main (gp_test_4.cpp:79) + n1: 1744896 0x12BAC7: operator() (std_function.h:591) + n1: 1744896 0x12BAC7: blt::gp::tree_t blt::gp::create_tree > >&, blt::gp::type const&, unsigned long)#1}>(blt::gp::grow_generator_t::generate(blt::gp::generator_arguments const&)::{lambda(blt::gp::gp_program&, std::stack > >&, blt::gp::type const&, unsigned long)#1}&&, blt::gp::generator_arguments const&) (generators.cpp:72) + n1: 1744896 0x12C89A: generate (generators.cpp:102) + n1: 1744896 0x12C89A: blt::gp::ramped_half_initializer_t::generate(blt::gp::initializer_arguments const&) (generators.cpp:169) + n0: 1744896 0x11806D: main (gp_test_4.cpp:79) + n1: 1206912 0x12CD9D: allocate (new_allocator.h:137) + n1: 1206912 0x12CD9D: allocate (alloc_traits.h:464) + n1: 1206912 0x12CD9D: _M_allocate (stl_vector.h:378) + n2: 1206912 0x12CD9D: void std::vector >::_M_realloc_insert&, std::function&, bool>(__gnu_cxx::__normal_iterator > >, std::function&, std::function&, bool&&) (vector.tcc:453) + n1: 978240 0x12B4D4: emplace_back&, std::function&, bool> (vector.tcc:123) + n1: 978240 0x12B4D4: blt::gp::tree_t blt::gp::create_tree > >&, blt::gp::type const&, unsigned long)#1}>(blt::gp::full_generator_t::generate(blt::gp::generator_arguments const&)::{lambda(blt::gp::gp_program&, std::stack > >&, blt::gp::type const&, unsigned long)#1}&&, blt::gp::generator_arguments const&) (generators.cpp:64) + n1: 978240 0x12C605: generate (generators.cpp:117) + n1: 978240 0x12C605: blt::gp::ramped_half_initializer_t::generate(blt::gp::initializer_arguments const&) (generators.cpp:167) + n0: 978240 0x11806D: main (gp_test_4.cpp:79) + n1: 228672 0x12BF10: emplace_back&, std::function&, bool> (vector.tcc:123) + n1: 228672 0x12BF10: blt::gp::tree_t blt::gp::create_tree > >&, blt::gp::type const&, unsigned long)#1}>(blt::gp::grow_generator_t::generate(blt::gp::generator_arguments const&)::{lambda(blt::gp::gp_program&, std::stack > >&, blt::gp::type const&, unsigned long)#1}&&, blt::gp::generator_arguments const&) (generators.cpp:64) + n1: 228672 0x12C89A: generate (generators.cpp:102) + n1: 228672 0x12C89A: blt::gp::ramped_half_initializer_t::generate(blt::gp::initializer_arguments const&) (generators.cpp:169) + n0: 228672 0x11806D: main (gp_test_4.cpp:79) + n1: 72704 0x49157B9: ??? (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.30) + n1: 72704 0x40049CD: call_init (dl-init.c:74) + n1: 72704 0x40049CD: call_init (dl-init.c:26) + n1: 72704 0x4004AB3: _dl_init (dl-init.c:121) + n0: 72704 0x401AA6F: ??? (in /usr/lib/x86_64-linux-gnu/ld-linux-x86-64.so.2) + n0: 39857 in 33 places, all below massif's threshold (1.00%) +#----------- +snapshot=11 +#----------- +time=14826573 +mem_heap_B=4961841 +mem_heap_extra_B=831183 +mem_stacks_B=0 +heap_tree=empty +#----------- +snapshot=12 +#----------- +time=16204871 +mem_heap_B=5198897 +mem_heap_extra_B=839775 +mem_stacks_B=0 +heap_tree=empty +#----------- +snapshot=13 +#----------- +time=17970000 +mem_heap_B=5453233 +mem_heap_extra_B=853599 +mem_stacks_B=0 +heap_tree=empty +#----------- +snapshot=14 +#----------- +time=19151529 +mem_heap_B=5607729 +mem_heap_extra_B=871343 +mem_stacks_B=0 +heap_tree=empty +#----------- +snapshot=15 +#----------- +time=20158137 +mem_heap_B=5818865 +mem_heap_extra_B=892783 +mem_stacks_B=0 +heap_tree=empty +#----------- +snapshot=16 +#----------- +time=21802071 +mem_heap_B=6093297 +mem_heap_extra_B=933471 +mem_stacks_B=0 +heap_tree=detailed +n4: 6093297 (heap allocation functions) malloc/new/new[], --alloc-fns, etc. + n1: 3866624 0x11A764: allocate_block (stack.h:293) + n1: 3866624 0x11A764: push_block (stack.h:273) + n1: 3866624 0x11A764: push_block_for (stack.h:268) + n1: 3866624 0x11A764: allocate_bytes (stack.h:249) + n1: 3866624 0x11A764: push (stack.h:47) + n1: 3866624 0x11A764: operator() (operations.h:165) + n1: 3866624 0x11A764: __invoke_impl::make_callable() const::&, void*, blt::gp::stack_allocator&, blt::gp::stack_allocator&> (invoke.h:61) + n1: 3866624 0x11A764: __invoke_r::make_callable() const::&, void*, blt::gp::stack_allocator&, blt::gp::stack_allocator&> (invoke.h:111) + n2: 3866624 0x11A764: std::_Function_handler::make_callable() const::{lambda(void*, blt::gp::stack_allocator&, blt::gp::stack_allocator&)#1}>::_M_invoke(std::_Any_data const&, void*&&, blt::gp::stack_allocator&, blt::gp::stack_allocator&) (std_function.h:290) + n1: 1974272 0x12B0CA: operator() (std_function.h:591) + n1: 1974272 0x12B0CA: blt::gp::tree_t blt::gp::create_tree > >&, blt::gp::type const&, unsigned long)#1}>(blt::gp::full_generator_t::generate(blt::gp::generator_arguments const&)::{lambda(blt::gp::gp_program&, std::stack > >&, blt::gp::type const&, unsigned long)#1}&&, blt::gp::generator_arguments const&) (generators.cpp:72) + n1: 1974272 0x12C605: generate (generators.cpp:117) + n1: 1974272 0x12C605: blt::gp::ramped_half_initializer_t::generate(blt::gp::initializer_arguments const&) (generators.cpp:167) + n0: 1974272 0x11806D: main (gp_test_4.cpp:79) + n1: 1892352 0x12BAC7: operator() (std_function.h:591) + n1: 1892352 0x12BAC7: blt::gp::tree_t blt::gp::create_tree > >&, blt::gp::type const&, unsigned long)#1}>(blt::gp::grow_generator_t::generate(blt::gp::generator_arguments const&)::{lambda(blt::gp::gp_program&, std::stack > >&, blt::gp::type const&, unsigned long)#1}&&, blt::gp::generator_arguments const&) (generators.cpp:72) + n1: 1892352 0x12C89A: generate (generators.cpp:102) + n1: 1892352 0x12C89A: blt::gp::ramped_half_initializer_t::generate(blt::gp::initializer_arguments const&) (generators.cpp:169) + n0: 1892352 0x11806D: main (gp_test_4.cpp:79) + n1: 2114112 0x12CD9D: allocate (new_allocator.h:137) + n1: 2114112 0x12CD9D: allocate (alloc_traits.h:464) + n1: 2114112 0x12CD9D: _M_allocate (stl_vector.h:378) + n2: 2114112 0x12CD9D: void std::vector >::_M_realloc_insert&, std::function&, bool>(__gnu_cxx::__normal_iterator > >, std::function&, std::function&, bool&&) (vector.tcc:453) + n1: 1844544 0x12B4D4: emplace_back&, std::function&, bool> (vector.tcc:123) + n1: 1844544 0x12B4D4: blt::gp::tree_t blt::gp::create_tree > >&, blt::gp::type const&, unsigned long)#1}>(blt::gp::full_generator_t::generate(blt::gp::generator_arguments const&)::{lambda(blt::gp::gp_program&, std::stack > >&, blt::gp::type const&, unsigned long)#1}&&, blt::gp::generator_arguments const&) (generators.cpp:64) + n1: 1844544 0x12C605: generate (generators.cpp:117) + n1: 1844544 0x12C605: blt::gp::ramped_half_initializer_t::generate(blt::gp::initializer_arguments const&) (generators.cpp:167) + n0: 1844544 0x11806D: main (gp_test_4.cpp:79) + n1: 269568 0x12BF10: emplace_back&, std::function&, bool> (vector.tcc:123) + n1: 269568 0x12BF10: blt::gp::tree_t blt::gp::create_tree > >&, blt::gp::type const&, unsigned long)#1}>(blt::gp::grow_generator_t::generate(blt::gp::generator_arguments const&)::{lambda(blt::gp::gp_program&, std::stack > >&, blt::gp::type const&, unsigned long)#1}&&, blt::gp::generator_arguments const&) (generators.cpp:64) + n1: 269568 0x12C89A: generate (generators.cpp:102) + n1: 269568 0x12C89A: blt::gp::ramped_half_initializer_t::generate(blt::gp::initializer_arguments const&) (generators.cpp:169) + n0: 269568 0x11806D: main (gp_test_4.cpp:79) + n1: 72704 0x49157B9: ??? (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.30) + n1: 72704 0x40049CD: call_init (dl-init.c:74) + n1: 72704 0x40049CD: call_init (dl-init.c:26) + n1: 72704 0x4004AB3: _dl_init (dl-init.c:121) + n0: 72704 0x401AA6F: ??? (in /usr/lib/x86_64-linux-gnu/ld-linux-x86-64.so.2) + n0: 39857 in 33 places, all below massif's threshold (1.00%) +#----------- +snapshot=17 +#----------- +time=23254581 +mem_heap_B=6306289 +mem_heap_extra_B=934559 +mem_stacks_B=0 +heap_tree=empty +#----------- +snapshot=18 +#----------- +time=24265101 +mem_heap_B=6449137 +mem_heap_extra_B=938335 +mem_stacks_B=0 +heap_tree=empty +#----------- +snapshot=19 +#----------- +time=25471598 +mem_heap_B=6588937 +mem_heap_extra_B=944903 +mem_stacks_B=0 +heap_tree=empty +#----------- +snapshot=20 +#----------- +time=26860475 +mem_heap_B=6900209 +mem_heap_extra_B=949975 +mem_stacks_B=0 +heap_tree=peak +n3: 6900209 (heap allocation functions) malloc/new/new[], --alloc-fns, etc. + n1: 4087808 0x11A764: allocate_block (stack.h:293) + n1: 4087808 0x11A764: push_block (stack.h:273) + n1: 4087808 0x11A764: push_block_for (stack.h:268) + n1: 4087808 0x11A764: allocate_bytes (stack.h:249) + n1: 4087808 0x11A764: push (stack.h:47) + n1: 4087808 0x11A764: operator() (operations.h:165) + n1: 4087808 0x11A764: __invoke_impl::make_callable() const::&, void*, blt::gp::stack_allocator&, blt::gp::stack_allocator&> (invoke.h:61) + n1: 4087808 0x11A764: __invoke_r::make_callable() const::&, void*, blt::gp::stack_allocator&, blt::gp::stack_allocator&> (invoke.h:111) + n2: 4087808 0x11A764: std::_Function_handler::make_callable() const::{lambda(void*, blt::gp::stack_allocator&, blt::gp::stack_allocator&)#1}>::_M_invoke(std::_Any_data const&, void*&&, blt::gp::stack_allocator&, blt::gp::stack_allocator&) (std_function.h:290) + n1: 2097152 0x12B0CA: operator() (std_function.h:591) + n2: 2097152 0x12B0CA: blt::gp::tree_t blt::gp::create_tree > >&, blt::gp::type const&, unsigned long)#1}>(blt::gp::full_generator_t::generate(blt::gp::generator_arguments const&)::{lambda(blt::gp::gp_program&, std::stack > >&, blt::gp::type const&, unsigned long)#1}&&, blt::gp::generator_arguments const&) (generators.cpp:72) + n1: 2088960 0x12C605: generate (generators.cpp:117) + n1: 2088960 0x12C605: blt::gp::ramped_half_initializer_t::generate(blt::gp::initializer_arguments const&) (generators.cpp:167) + n0: 2088960 0x11806D: main (gp_test_4.cpp:79) + n0: 8192 in 1 place, below massif's threshold (1.00%) + n1: 1990656 0x12BAC7: operator() (std_function.h:591) + n2: 1990656 0x12BAC7: blt::gp::tree_t blt::gp::create_tree > >&, blt::gp::type const&, unsigned long)#1}>(blt::gp::grow_generator_t::generate(blt::gp::generator_arguments const&)::{lambda(blt::gp::gp_program&, std::stack > >&, blt::gp::type const&, unsigned long)#1}&&, blt::gp::generator_arguments const&) (generators.cpp:72) + n1: 1982464 0x12C89A: generate (generators.cpp:102) + n1: 1982464 0x12C89A: blt::gp::ramped_half_initializer_t::generate(blt::gp::initializer_arguments const&) (generators.cpp:169) + n0: 1982464 0x11806D: main (gp_test_4.cpp:79) + n0: 8192 in 1 place, below massif's threshold (1.00%) + n1: 2691648 0x12CD9D: allocate (new_allocator.h:137) + n1: 2691648 0x12CD9D: allocate (alloc_traits.h:464) + n1: 2691648 0x12CD9D: _M_allocate (stl_vector.h:378) + n2: 2691648 0x12CD9D: void std::vector >::_M_realloc_insert&, std::function&, bool>(__gnu_cxx::__normal_iterator > >, std::function&, std::function&, bool&&) (vector.tcc:453) + n1: 2385216 0x12B4D4: emplace_back&, std::function&, bool> (vector.tcc:123) + n2: 2385216 0x12B4D4: blt::gp::tree_t blt::gp::create_tree > >&, blt::gp::type const&, unsigned long)#1}>(blt::gp::full_generator_t::generate(blt::gp::generator_arguments const&)::{lambda(blt::gp::gp_program&, std::stack > >&, blt::gp::type const&, unsigned long)#1}&&, blt::gp::generator_arguments const&) (generators.cpp:64) + n1: 2237760 0x12C605: generate (generators.cpp:117) + n1: 2237760 0x12C605: blt::gp::ramped_half_initializer_t::generate(blt::gp::initializer_arguments const&) (generators.cpp:167) + n0: 2237760 0x11806D: main (gp_test_4.cpp:79) + n1: 147456 0x12C7C6: generate (generators.cpp:117) + n1: 147456 0x12C7C6: blt::gp::ramped_half_initializer_t::generate(blt::gp::initializer_arguments const&) (generators.cpp:176) + n0: 147456 0x11806D: main (gp_test_4.cpp:79) + n1: 306432 0x12BF10: emplace_back&, std::function&, bool> (vector.tcc:123) + n2: 306432 0x12BF10: blt::gp::tree_t blt::gp::create_tree > >&, blt::gp::type const&, unsigned long)#1}>(blt::gp::grow_generator_t::generate(blt::gp::generator_arguments const&)::{lambda(blt::gp::gp_program&, std::stack > >&, blt::gp::type const&, unsigned long)#1}&&, blt::gp::generator_arguments const&) (generators.cpp:64) + n1: 303360 0x12C89A: generate (generators.cpp:102) + n1: 303360 0x12C89A: blt::gp::ramped_half_initializer_t::generate(blt::gp::initializer_arguments const&) (generators.cpp:169) + n0: 303360 0x11806D: main (gp_test_4.cpp:79) + n0: 3072 in 1 place, below massif's threshold (1.00%) + n0: 120753 in 35 places, all below massif's threshold (1.00%) +#----------- +snapshot=21 +#----------- +time=27918044 +mem_heap_B=6862810 +mem_heap_extra_B=950886 +mem_stacks_B=0 +heap_tree=empty +#----------- +snapshot=22 +#----------- +time=29777992 +mem_heap_B=6862554 +mem_heap_extra_B=950878 +mem_stacks_B=0 +heap_tree=empty +#----------- +snapshot=23 +#----------- +time=31309640 +mem_heap_B=6861951 +mem_heap_extra_B=950857 +mem_stacks_B=0 +heap_tree=empty +#----------- +snapshot=24 +#----------- +time=32841883 +mem_heap_B=6862493 +mem_heap_extra_B=950867 +mem_stacks_B=0 +heap_tree=empty +#----------- +snapshot=25 +#----------- +time=33762549 +mem_heap_B=6862749 +mem_heap_extra_B=950875 +mem_stacks_B=0 +heap_tree=empty +#----------- +snapshot=26 +#----------- +time=35296218 +mem_heap_B=6862294 +mem_heap_extra_B=950890 +mem_stacks_B=0 +heap_tree=detailed +n3: 6862294 (heap allocation functions) malloc/new/new[], --alloc-fns, etc. + n1: 4096000 0x11A764: allocate_block (stack.h:293) + n1: 4096000 0x11A764: push_block (stack.h:273) + n1: 4096000 0x11A764: push_block_for (stack.h:268) + n1: 4096000 0x11A764: allocate_bytes (stack.h:249) + n1: 4096000 0x11A764: push (stack.h:47) + n1: 4096000 0x11A764: operator() (operations.h:165) + n1: 4096000 0x11A764: __invoke_impl::make_callable() const::&, void*, blt::gp::stack_allocator&, blt::gp::stack_allocator&> (invoke.h:61) + n1: 4096000 0x11A764: __invoke_r::make_callable() const::&, void*, blt::gp::stack_allocator&, blt::gp::stack_allocator&> (invoke.h:111) + n2: 4096000 0x11A764: std::_Function_handler::make_callable() const::{lambda(void*, blt::gp::stack_allocator&, blt::gp::stack_allocator&)#1}>::_M_invoke(std::_Any_data const&, void*&&, blt::gp::stack_allocator&, blt::gp::stack_allocator&) (std_function.h:290) + n1: 2097152 0x12B0CA: operator() (std_function.h:591) + n2: 2097152 0x12B0CA: blt::gp::tree_t blt::gp::create_tree > >&, blt::gp::type const&, unsigned long)#1}>(blt::gp::full_generator_t::generate(blt::gp::generator_arguments const&)::{lambda(blt::gp::gp_program&, std::stack > >&, blt::gp::type const&, unsigned long)#1}&&, blt::gp::generator_arguments const&) (generators.cpp:72) + n1: 2088960 0x12C605: generate (generators.cpp:117) + n1: 2088960 0x12C605: blt::gp::ramped_half_initializer_t::generate(blt::gp::initializer_arguments const&) (generators.cpp:167) + n0: 2088960 0x11806D: main (gp_test_4.cpp:79) + n0: 8192 in 1 place, below massif's threshold (1.00%) + n1: 1998848 0x12BAC7: operator() (std_function.h:591) + n2: 1998848 0x12BAC7: blt::gp::tree_t blt::gp::create_tree > >&, blt::gp::type const&, unsigned long)#1}>(blt::gp::grow_generator_t::generate(blt::gp::generator_arguments const&)::{lambda(blt::gp::gp_program&, std::stack > >&, blt::gp::type const&, unsigned long)#1}&&, blt::gp::generator_arguments const&) (generators.cpp:72) + n1: 1982464 0x12C89A: generate (generators.cpp:102) + n1: 1982464 0x12C89A: blt::gp::ramped_half_initializer_t::generate(blt::gp::initializer_arguments const&) (generators.cpp:169) + n0: 1982464 0x11806D: main (gp_test_4.cpp:79) + n0: 16384 in 1 place, below massif's threshold (1.00%) + n1: 2645568 0x12CD9D: allocate (new_allocator.h:137) + n1: 2645568 0x12CD9D: allocate (alloc_traits.h:464) + n1: 2645568 0x12CD9D: _M_allocate (stl_vector.h:378) + n2: 2645568 0x12CD9D: void std::vector >::_M_realloc_insert&, std::function&, bool>(__gnu_cxx::__normal_iterator > >, std::function&, std::function&, bool&&) (vector.tcc:453) + n1: 2336064 0x12B4D4: emplace_back&, std::function&, bool> (vector.tcc:123) + n2: 2336064 0x12B4D4: blt::gp::tree_t blt::gp::create_tree > >&, blt::gp::type const&, unsigned long)#1}>(blt::gp::full_generator_t::generate(blt::gp::generator_arguments const&)::{lambda(blt::gp::gp_program&, std::stack > >&, blt::gp::type const&, unsigned long)#1}&&, blt::gp::generator_arguments const&) (generators.cpp:64) + n1: 2237760 0x12C605: generate (generators.cpp:117) + n1: 2237760 0x12C605: blt::gp::ramped_half_initializer_t::generate(blt::gp::initializer_arguments const&) (generators.cpp:167) + n0: 2237760 0x11806D: main (gp_test_4.cpp:79) + n1: 98304 0x12C7C6: generate (generators.cpp:117) + n1: 98304 0x12C7C6: blt::gp::ramped_half_initializer_t::generate(blt::gp::initializer_arguments const&) (generators.cpp:176) + n0: 98304 0x11806D: main (gp_test_4.cpp:79) + n1: 309504 0x12BF10: emplace_back&, std::function&, bool> (vector.tcc:123) + n2: 309504 0x12BF10: blt::gp::tree_t blt::gp::create_tree > >&, blt::gp::type const&, unsigned long)#1}>(blt::gp::grow_generator_t::generate(blt::gp::generator_arguments const&)::{lambda(blt::gp::gp_program&, std::stack > >&, blt::gp::type const&, unsigned long)#1}&&, blt::gp::generator_arguments const&) (generators.cpp:64) + n1: 303360 0x12C89A: generate (generators.cpp:102) + n1: 303360 0x12C89A: blt::gp::ramped_half_initializer_t::generate(blt::gp::initializer_arguments const&) (generators.cpp:169) + n0: 303360 0x11806D: main (gp_test_4.cpp:79) + n0: 6144 in 1 place, below massif's threshold (1.00%) + n0: 120726 in 45 places, all below massif's threshold (1.00%) +#----------- +snapshot=27 +#----------- +time=36522023 +mem_heap_B=6862870 +mem_heap_extra_B=950890 +mem_stacks_B=0 +heap_tree=empty +#----------- +snapshot=28 +#----------- +time=37441205 +mem_heap_B=6862294 +mem_heap_extra_B=950890 +mem_stacks_B=0 +heap_tree=empty +#----------- +snapshot=29 +#----------- +time=38667531 +mem_heap_B=6862396 +mem_heap_extra_B=950884 +mem_stacks_B=0 +heap_tree=empty +#----------- +snapshot=30 +#----------- +time=40200583 +mem_heap_B=6862294 +mem_heap_extra_B=950890 +mem_stacks_B=0 +heap_tree=empty +#----------- +snapshot=31 +#----------- +time=41426531 +mem_heap_B=6862268 +mem_heap_extra_B=950876 +mem_stacks_B=0 +heap_tree=detailed +n3: 6862268 (heap allocation functions) malloc/new/new[], --alloc-fns, etc. + n1: 4096000 0x11A764: allocate_block (stack.h:293) + n1: 4096000 0x11A764: push_block (stack.h:273) + n1: 4096000 0x11A764: push_block_for (stack.h:268) + n1: 4096000 0x11A764: allocate_bytes (stack.h:249) + n1: 4096000 0x11A764: push (stack.h:47) + n1: 4096000 0x11A764: operator() (operations.h:165) + n1: 4096000 0x11A764: __invoke_impl::make_callable() const::&, void*, blt::gp::stack_allocator&, blt::gp::stack_allocator&> (invoke.h:61) + n1: 4096000 0x11A764: __invoke_r::make_callable() const::&, void*, blt::gp::stack_allocator&, blt::gp::stack_allocator&> (invoke.h:111) + n2: 4096000 0x11A764: std::_Function_handler::make_callable() const::{lambda(void*, blt::gp::stack_allocator&, blt::gp::stack_allocator&)#1}>::_M_invoke(std::_Any_data const&, void*&&, blt::gp::stack_allocator&, blt::gp::stack_allocator&) (std_function.h:290) + n1: 2097152 0x12B0CA: operator() (std_function.h:591) + n2: 2097152 0x12B0CA: blt::gp::tree_t blt::gp::create_tree > >&, blt::gp::type const&, unsigned long)#1}>(blt::gp::full_generator_t::generate(blt::gp::generator_arguments const&)::{lambda(blt::gp::gp_program&, std::stack > >&, blt::gp::type const&, unsigned long)#1}&&, blt::gp::generator_arguments const&) (generators.cpp:72) + n1: 2088960 0x12C605: generate (generators.cpp:117) + n1: 2088960 0x12C605: blt::gp::ramped_half_initializer_t::generate(blt::gp::initializer_arguments const&) (generators.cpp:167) + n0: 2088960 0x11806D: main (gp_test_4.cpp:79) + n0: 8192 in 1 place, below massif's threshold (1.00%) + n1: 1998848 0x12BAC7: operator() (std_function.h:591) + n2: 1998848 0x12BAC7: blt::gp::tree_t blt::gp::create_tree > >&, blt::gp::type const&, unsigned long)#1}>(blt::gp::grow_generator_t::generate(blt::gp::generator_arguments const&)::{lambda(blt::gp::gp_program&, std::stack > >&, blt::gp::type const&, unsigned long)#1}&&, blt::gp::generator_arguments const&) (generators.cpp:72) + n1: 1982464 0x12C89A: generate (generators.cpp:102) + n1: 1982464 0x12C89A: blt::gp::ramped_half_initializer_t::generate(blt::gp::initializer_arguments const&) (generators.cpp:169) + n0: 1982464 0x11806D: main (gp_test_4.cpp:79) + n0: 16384 in 1 place, below massif's threshold (1.00%) + n1: 2645568 0x12CD9D: allocate (new_allocator.h:137) + n1: 2645568 0x12CD9D: allocate (alloc_traits.h:464) + n1: 2645568 0x12CD9D: _M_allocate (stl_vector.h:378) + n2: 2645568 0x12CD9D: void std::vector >::_M_realloc_insert&, std::function&, bool>(__gnu_cxx::__normal_iterator > >, std::function&, std::function&, bool&&) (vector.tcc:453) + n1: 2336064 0x12B4D4: emplace_back&, std::function&, bool> (vector.tcc:123) + n2: 2336064 0x12B4D4: blt::gp::tree_t blt::gp::create_tree > >&, blt::gp::type const&, unsigned long)#1}>(blt::gp::full_generator_t::generate(blt::gp::generator_arguments const&)::{lambda(blt::gp::gp_program&, std::stack > >&, blt::gp::type const&, unsigned long)#1}&&, blt::gp::generator_arguments const&) (generators.cpp:64) + n1: 2237760 0x12C605: generate (generators.cpp:117) + n1: 2237760 0x12C605: blt::gp::ramped_half_initializer_t::generate(blt::gp::initializer_arguments const&) (generators.cpp:167) + n0: 2237760 0x11806D: main (gp_test_4.cpp:79) + n1: 98304 0x12C7C6: generate (generators.cpp:117) + n1: 98304 0x12C7C6: blt::gp::ramped_half_initializer_t::generate(blt::gp::initializer_arguments const&) (generators.cpp:176) + n0: 98304 0x11806D: main (gp_test_4.cpp:79) + n1: 309504 0x12BF10: emplace_back&, std::function&, bool> (vector.tcc:123) + n2: 309504 0x12BF10: blt::gp::tree_t blt::gp::create_tree > >&, blt::gp::type const&, unsigned long)#1}>(blt::gp::grow_generator_t::generate(blt::gp::generator_arguments const&)::{lambda(blt::gp::gp_program&, std::stack > >&, blt::gp::type const&, unsigned long)#1}&&, blt::gp::generator_arguments const&) (generators.cpp:64) + n1: 303360 0x12C89A: generate (generators.cpp:102) + n1: 303360 0x12C89A: blt::gp::ramped_half_initializer_t::generate(blt::gp::initializer_arguments const&) (generators.cpp:169) + n0: 303360 0x11806D: main (gp_test_4.cpp:79) + n0: 6144 in 1 place, below massif's threshold (1.00%) + n0: 120700 in 45 places, all below massif's threshold (1.00%) +#----------- +snapshot=32 +#----------- +time=42651221 +mem_heap_B=6878345 +mem_heap_extra_B=952863 +mem_stacks_B=0 +heap_tree=empty +#----------- +snapshot=33 +#----------- +time=43881991 +mem_heap_B=6861980 +mem_heap_extra_B=950852 +mem_stacks_B=0 +heap_tree=empty +#----------- +snapshot=34 +#----------- +time=45694204 +mem_heap_B=6862810 +mem_heap_extra_B=950886 +mem_stacks_B=0 +heap_tree=empty +#----------- +snapshot=35 +#----------- +time=47509261 +mem_heap_B=6862486 +mem_heap_extra_B=950890 +mem_stacks_B=0 +heap_tree=empty +#----------- +snapshot=36 +#----------- +time=48421352 +mem_heap_B=6876465 +mem_heap_extra_B=951807 +mem_stacks_B=0 +heap_tree=empty +#----------- +snapshot=37 +#----------- +time=50231190 +mem_heap_B=6879505 +mem_heap_extra_B=951743 +mem_stacks_B=0 +heap_tree=empty +#----------- +snapshot=38 +#----------- +time=51591932 +mem_heap_B=6891769 +mem_heap_extra_B=951751 +mem_stacks_B=0 +heap_tree=empty +#----------- +snapshot=39 +#----------- +time=53410281 +mem_heap_B=6870865 +mem_heap_extra_B=950823 +mem_stacks_B=0 +heap_tree=empty +#----------- +snapshot=40 +#----------- +time=55258242 +mem_heap_B=6861920 +mem_heap_extra_B=950848 +mem_stacks_B=0 +heap_tree=empty +#----------- +snapshot=41 +#----------- +time=56615032 +mem_heap_B=6862870 +mem_heap_extra_B=950890 +mem_stacks_B=0 +heap_tree=empty +#----------- +snapshot=42 +#----------- +time=58446253 +mem_heap_B=6879225 +mem_heap_extra_B=951815 +mem_stacks_B=0 +heap_tree=detailed +n3: 6879225 (heap allocation functions) malloc/new/new[], --alloc-fns, etc. + n1: 4096000 0x11A764: allocate_block (stack.h:293) + n1: 4096000 0x11A764: push_block (stack.h:273) + n1: 4096000 0x11A764: push_block_for (stack.h:268) + n1: 4096000 0x11A764: allocate_bytes (stack.h:249) + n1: 4096000 0x11A764: push (stack.h:47) + n1: 4096000 0x11A764: operator() (operations.h:165) + n1: 4096000 0x11A764: __invoke_impl::make_callable() const::&, void*, blt::gp::stack_allocator&, blt::gp::stack_allocator&> (invoke.h:61) + n1: 4096000 0x11A764: __invoke_r::make_callable() const::&, void*, blt::gp::stack_allocator&, blt::gp::stack_allocator&> (invoke.h:111) + n2: 4096000 0x11A764: std::_Function_handler::make_callable() const::{lambda(void*, blt::gp::stack_allocator&, blt::gp::stack_allocator&)#1}>::_M_invoke(std::_Any_data const&, void*&&, blt::gp::stack_allocator&, blt::gp::stack_allocator&) (std_function.h:290) + n1: 2097152 0x12B0CA: operator() (std_function.h:591) + n2: 2097152 0x12B0CA: blt::gp::tree_t blt::gp::create_tree > >&, blt::gp::type const&, unsigned long)#1}>(blt::gp::full_generator_t::generate(blt::gp::generator_arguments const&)::{lambda(blt::gp::gp_program&, std::stack > >&, blt::gp::type const&, unsigned long)#1}&&, blt::gp::generator_arguments const&) (generators.cpp:72) + n1: 2088960 0x12C605: generate (generators.cpp:117) + n1: 2088960 0x12C605: blt::gp::ramped_half_initializer_t::generate(blt::gp::initializer_arguments const&) (generators.cpp:167) + n0: 2088960 0x11806D: main (gp_test_4.cpp:79) + n0: 8192 in 1 place, below massif's threshold (1.00%) + n1: 1998848 0x12BAC7: operator() (std_function.h:591) + n2: 1998848 0x12BAC7: blt::gp::tree_t blt::gp::create_tree > >&, blt::gp::type const&, unsigned long)#1}>(blt::gp::grow_generator_t::generate(blt::gp::generator_arguments const&)::{lambda(blt::gp::gp_program&, std::stack > >&, blt::gp::type const&, unsigned long)#1}&&, blt::gp::generator_arguments const&) (generators.cpp:72) + n1: 1982464 0x12C89A: generate (generators.cpp:102) + n1: 1982464 0x12C89A: blt::gp::ramped_half_initializer_t::generate(blt::gp::initializer_arguments const&) (generators.cpp:169) + n0: 1982464 0x11806D: main (gp_test_4.cpp:79) + n0: 16384 in 1 place, below massif's threshold (1.00%) + n1: 2645568 0x12CD9D: allocate (new_allocator.h:137) + n1: 2645568 0x12CD9D: allocate (alloc_traits.h:464) + n1: 2645568 0x12CD9D: _M_allocate (stl_vector.h:378) + n2: 2645568 0x12CD9D: void std::vector >::_M_realloc_insert&, std::function&, bool>(__gnu_cxx::__normal_iterator > >, std::function&, std::function&, bool&&) (vector.tcc:453) + n1: 2336064 0x12B4D4: emplace_back&, std::function&, bool> (vector.tcc:123) + n2: 2336064 0x12B4D4: blt::gp::tree_t blt::gp::create_tree > >&, blt::gp::type const&, unsigned long)#1}>(blt::gp::full_generator_t::generate(blt::gp::generator_arguments const&)::{lambda(blt::gp::gp_program&, std::stack > >&, blt::gp::type const&, unsigned long)#1}&&, blt::gp::generator_arguments const&) (generators.cpp:64) + n1: 2237760 0x12C605: generate (generators.cpp:117) + n1: 2237760 0x12C605: blt::gp::ramped_half_initializer_t::generate(blt::gp::initializer_arguments const&) (generators.cpp:167) + n0: 2237760 0x11806D: main (gp_test_4.cpp:79) + n1: 98304 0x12C7C6: generate (generators.cpp:117) + n1: 98304 0x12C7C6: blt::gp::ramped_half_initializer_t::generate(blt::gp::initializer_arguments const&) (generators.cpp:176) + n0: 98304 0x11806D: main (gp_test_4.cpp:79) + n1: 309504 0x12BF10: emplace_back&, std::function&, bool> (vector.tcc:123) + n2: 309504 0x12BF10: blt::gp::tree_t blt::gp::create_tree > >&, blt::gp::type const&, unsigned long)#1}>(blt::gp::grow_generator_t::generate(blt::gp::generator_arguments const&)::{lambda(blt::gp::gp_program&, std::stack > >&, blt::gp::type const&, unsigned long)#1}&&, blt::gp::generator_arguments const&) (generators.cpp:64) + n1: 303360 0x12C89A: generate (generators.cpp:102) + n1: 303360 0x12C89A: blt::gp::ramped_half_initializer_t::generate(blt::gp::initializer_arguments const&) (generators.cpp:169) + n0: 303360 0x11806D: main (gp_test_4.cpp:79) + n0: 6144 in 1 place, below massif's threshold (1.00%) + n0: 137657 in 48 places, all below massif's threshold (1.00%) +#----------- +snapshot=43 +#----------- +time=59352824 +mem_heap_B=6891969 +mem_heap_extra_B=951711 +mem_stacks_B=0 +heap_tree=empty +#----------- +snapshot=44 +#----------- +time=60739585 +mem_heap_B=6862041 +mem_heap_extra_B=950863 +mem_stacks_B=0 +heap_tree=empty +#----------- +snapshot=45 +#----------- +time=61690211 +mem_heap_B=6894153 +mem_heap_extra_B=951719 +mem_stacks_B=0 +heap_tree=empty +#----------- +snapshot=46 +#----------- +time=63091415 +mem_heap_B=6862234 +mem_heap_extra_B=950886 +mem_stacks_B=0 +heap_tree=detailed +n3: 6862234 (heap allocation functions) malloc/new/new[], --alloc-fns, etc. + n1: 4096000 0x11A764: allocate_block (stack.h:293) + n1: 4096000 0x11A764: push_block (stack.h:273) + n1: 4096000 0x11A764: push_block_for (stack.h:268) + n1: 4096000 0x11A764: allocate_bytes (stack.h:249) + n1: 4096000 0x11A764: push (stack.h:47) + n1: 4096000 0x11A764: operator() (operations.h:165) + n1: 4096000 0x11A764: __invoke_impl::make_callable() const::&, void*, blt::gp::stack_allocator&, blt::gp::stack_allocator&> (invoke.h:61) + n1: 4096000 0x11A764: __invoke_r::make_callable() const::&, void*, blt::gp::stack_allocator&, blt::gp::stack_allocator&> (invoke.h:111) + n2: 4096000 0x11A764: std::_Function_handler::make_callable() const::{lambda(void*, blt::gp::stack_allocator&, blt::gp::stack_allocator&)#1}>::_M_invoke(std::_Any_data const&, void*&&, blt::gp::stack_allocator&, blt::gp::stack_allocator&) (std_function.h:290) + n1: 2097152 0x12B0CA: operator() (std_function.h:591) + n2: 2097152 0x12B0CA: blt::gp::tree_t blt::gp::create_tree > >&, blt::gp::type const&, unsigned long)#1}>(blt::gp::full_generator_t::generate(blt::gp::generator_arguments const&)::{lambda(blt::gp::gp_program&, std::stack > >&, blt::gp::type const&, unsigned long)#1}&&, blt::gp::generator_arguments const&) (generators.cpp:72) + n1: 2088960 0x12C605: generate (generators.cpp:117) + n1: 2088960 0x12C605: blt::gp::ramped_half_initializer_t::generate(blt::gp::initializer_arguments const&) (generators.cpp:167) + n0: 2088960 0x11806D: main (gp_test_4.cpp:79) + n0: 8192 in 1 place, below massif's threshold (1.00%) + n1: 1998848 0x12BAC7: operator() (std_function.h:591) + n2: 1998848 0x12BAC7: blt::gp::tree_t blt::gp::create_tree > >&, blt::gp::type const&, unsigned long)#1}>(blt::gp::grow_generator_t::generate(blt::gp::generator_arguments const&)::{lambda(blt::gp::gp_program&, std::stack > >&, blt::gp::type const&, unsigned long)#1}&&, blt::gp::generator_arguments const&) (generators.cpp:72) + n1: 1982464 0x12C89A: generate (generators.cpp:102) + n1: 1982464 0x12C89A: blt::gp::ramped_half_initializer_t::generate(blt::gp::initializer_arguments const&) (generators.cpp:169) + n0: 1982464 0x11806D: main (gp_test_4.cpp:79) + n0: 16384 in 1 place, below massif's threshold (1.00%) + n1: 2645568 0x12CD9D: allocate (new_allocator.h:137) + n1: 2645568 0x12CD9D: allocate (alloc_traits.h:464) + n1: 2645568 0x12CD9D: _M_allocate (stl_vector.h:378) + n2: 2645568 0x12CD9D: void std::vector >::_M_realloc_insert&, std::function&, bool>(__gnu_cxx::__normal_iterator > >, std::function&, std::function&, bool&&) (vector.tcc:453) + n1: 2336064 0x12B4D4: emplace_back&, std::function&, bool> (vector.tcc:123) + n2: 2336064 0x12B4D4: blt::gp::tree_t blt::gp::create_tree > >&, blt::gp::type const&, unsigned long)#1}>(blt::gp::full_generator_t::generate(blt::gp::generator_arguments const&)::{lambda(blt::gp::gp_program&, std::stack > >&, blt::gp::type const&, unsigned long)#1}&&, blt::gp::generator_arguments const&) (generators.cpp:64) + n1: 2237760 0x12C605: generate (generators.cpp:117) + n1: 2237760 0x12C605: blt::gp::ramped_half_initializer_t::generate(blt::gp::initializer_arguments const&) (generators.cpp:167) + n0: 2237760 0x11806D: main (gp_test_4.cpp:79) + n1: 98304 0x12C7C6: generate (generators.cpp:117) + n1: 98304 0x12C7C6: blt::gp::ramped_half_initializer_t::generate(blt::gp::initializer_arguments const&) (generators.cpp:176) + n0: 98304 0x11806D: main (gp_test_4.cpp:79) + n1: 309504 0x12BF10: emplace_back&, std::function&, bool> (vector.tcc:123) + n2: 309504 0x12BF10: blt::gp::tree_t blt::gp::create_tree > >&, blt::gp::type const&, unsigned long)#1}>(blt::gp::grow_generator_t::generate(blt::gp::generator_arguments const&)::{lambda(blt::gp::gp_program&, std::stack > >&, blt::gp::type const&, unsigned long)#1}&&, blt::gp::generator_arguments const&) (generators.cpp:64) + n1: 303360 0x12C89A: generate (generators.cpp:102) + n1: 303360 0x12C89A: blt::gp::ramped_half_initializer_t::generate(blt::gp::initializer_arguments const&) (generators.cpp:169) + n0: 303360 0x11806D: main (gp_test_4.cpp:79) + n0: 6144 in 1 place, below massif's threshold (1.00%) + n0: 120666 in 48 places, all below massif's threshold (1.00%) +#----------- +snapshot=47 +#----------- +time=64903718 +mem_heap_B=6862870 +mem_heap_extra_B=950890 +mem_stacks_B=0 +heap_tree=empty +#----------- +snapshot=48 +#----------- +time=65852034 +mem_heap_B=6901321 +mem_heap_extra_B=951751 +mem_stacks_B=0 +heap_tree=empty +#----------- +snapshot=49 +#----------- +time=66826776 +mem_heap_B=6896329 +mem_heap_extra_B=951751 +mem_stacks_B=0 +heap_tree=empty +#----------- +snapshot=50 +#----------- +time=67725484 +mem_heap_B=6896377 +mem_heap_extra_B=951751 +mem_stacks_B=0 +heap_tree=empty +#----------- +snapshot=51 +#----------- +time=68693009 +mem_heap_B=6904713 +mem_heap_extra_B=951815 +mem_stacks_B=0 +heap_tree=detailed +n3: 6904713 (heap allocation functions) malloc/new/new[], --alloc-fns, etc. + n1: 4096000 0x11A764: allocate_block (stack.h:293) + n1: 4096000 0x11A764: push_block (stack.h:273) + n1: 4096000 0x11A764: push_block_for (stack.h:268) + n1: 4096000 0x11A764: allocate_bytes (stack.h:249) + n1: 4096000 0x11A764: push (stack.h:47) + n1: 4096000 0x11A764: operator() (operations.h:165) + n1: 4096000 0x11A764: __invoke_impl::make_callable() const::&, void*, blt::gp::stack_allocator&, blt::gp::stack_allocator&> (invoke.h:61) + n1: 4096000 0x11A764: __invoke_r::make_callable() const::&, void*, blt::gp::stack_allocator&, blt::gp::stack_allocator&> (invoke.h:111) + n2: 4096000 0x11A764: std::_Function_handler::make_callable() const::{lambda(void*, blt::gp::stack_allocator&, blt::gp::stack_allocator&)#1}>::_M_invoke(std::_Any_data const&, void*&&, blt::gp::stack_allocator&, blt::gp::stack_allocator&) (std_function.h:290) + n1: 2097152 0x12B0CA: operator() (std_function.h:591) + n2: 2097152 0x12B0CA: blt::gp::tree_t blt::gp::create_tree > >&, blt::gp::type const&, unsigned long)#1}>(blt::gp::full_generator_t::generate(blt::gp::generator_arguments const&)::{lambda(blt::gp::gp_program&, std::stack > >&, blt::gp::type const&, unsigned long)#1}&&, blt::gp::generator_arguments const&) (generators.cpp:72) + n1: 2088960 0x12C605: generate (generators.cpp:117) + n1: 2088960 0x12C605: blt::gp::ramped_half_initializer_t::generate(blt::gp::initializer_arguments const&) (generators.cpp:167) + n0: 2088960 0x11806D: main (gp_test_4.cpp:79) + n0: 8192 in 1 place, below massif's threshold (1.00%) + n1: 1998848 0x12BAC7: operator() (std_function.h:591) + n2: 1998848 0x12BAC7: blt::gp::tree_t blt::gp::create_tree > >&, blt::gp::type const&, unsigned long)#1}>(blt::gp::grow_generator_t::generate(blt::gp::generator_arguments const&)::{lambda(blt::gp::gp_program&, std::stack > >&, blt::gp::type const&, unsigned long)#1}&&, blt::gp::generator_arguments const&) (generators.cpp:72) + n1: 1982464 0x12C89A: generate (generators.cpp:102) + n1: 1982464 0x12C89A: blt::gp::ramped_half_initializer_t::generate(blt::gp::initializer_arguments const&) (generators.cpp:169) + n0: 1982464 0x11806D: main (gp_test_4.cpp:79) + n0: 16384 in 1 place, below massif's threshold (1.00%) + n1: 2645568 0x12CD9D: allocate (new_allocator.h:137) + n1: 2645568 0x12CD9D: allocate (alloc_traits.h:464) + n1: 2645568 0x12CD9D: _M_allocate (stl_vector.h:378) + n2: 2645568 0x12CD9D: void std::vector >::_M_realloc_insert&, std::function&, bool>(__gnu_cxx::__normal_iterator > >, std::function&, std::function&, bool&&) (vector.tcc:453) + n1: 2336064 0x12B4D4: emplace_back&, std::function&, bool> (vector.tcc:123) + n2: 2336064 0x12B4D4: blt::gp::tree_t blt::gp::create_tree > >&, blt::gp::type const&, unsigned long)#1}>(blt::gp::full_generator_t::generate(blt::gp::generator_arguments const&)::{lambda(blt::gp::gp_program&, std::stack > >&, blt::gp::type const&, unsigned long)#1}&&, blt::gp::generator_arguments const&) (generators.cpp:64) + n1: 2237760 0x12C605: generate (generators.cpp:117) + n1: 2237760 0x12C605: blt::gp::ramped_half_initializer_t::generate(blt::gp::initializer_arguments const&) (generators.cpp:167) + n0: 2237760 0x11806D: main (gp_test_4.cpp:79) + n1: 98304 0x12C7C6: generate (generators.cpp:117) + n1: 98304 0x12C7C6: blt::gp::ramped_half_initializer_t::generate(blt::gp::initializer_arguments const&) (generators.cpp:176) + n0: 98304 0x11806D: main (gp_test_4.cpp:79) + n1: 309504 0x12BF10: emplace_back&, std::function&, bool> (vector.tcc:123) + n2: 309504 0x12BF10: blt::gp::tree_t blt::gp::create_tree > >&, blt::gp::type const&, unsigned long)#1}>(blt::gp::grow_generator_t::generate(blt::gp::generator_arguments const&)::{lambda(blt::gp::gp_program&, std::stack > >&, blt::gp::type const&, unsigned long)#1}&&, blt::gp::generator_arguments const&) (generators.cpp:64) + n1: 303360 0x12C89A: generate (generators.cpp:102) + n1: 303360 0x12C89A: blt::gp::ramped_half_initializer_t::generate(blt::gp::initializer_arguments const&) (generators.cpp:169) + n0: 303360 0x11806D: main (gp_test_4.cpp:79) + n0: 6144 in 1 place, below massif's threshold (1.00%) + n0: 163145 in 48 places, all below massif's threshold (1.00%) +#----------- +snapshot=52 +#----------- +time=69577499 +mem_heap_B=6895729 +mem_heap_extra_B=951743 +mem_stacks_B=0 +heap_tree=empty +#----------- +snapshot=53 +#----------- +time=70462948 +mem_heap_B=6895369 +mem_heap_extra_B=951751 +mem_stacks_B=0 +heap_tree=empty +#----------- +snapshot=54 +#----------- +time=71339420 +mem_heap_B=6862426 +mem_heap_extra_B=950886 +mem_stacks_B=0 +heap_tree=empty +#----------- +snapshot=55 +#----------- +time=72410598 +mem_heap_B=6926865 +mem_heap_extra_B=951807 +mem_stacks_B=0 +heap_tree=empty diff --git a/src/generators.cpp b/src/generators.cpp index bbe4e11..9fd5bc0 100644 --- a/src/generators.cpp +++ b/src/generators.cpp @@ -90,7 +90,7 @@ namespace blt::gp if (new_depth >= args.max_depth) { if (program.get_type_terminals(type.id()).empty()) - tree_generator.push({program.select_non_terminal(type.id()), new_depth}); + tree_generator.push({program.select_non_terminal_too_deep(type.id()), new_depth}); else tree_generator.push({program.select_terminal(type.id()), new_depth}); return; @@ -108,7 +108,7 @@ namespace blt::gp if (new_depth >= args.max_depth) { if (program.get_type_terminals(type.id()).empty()) - tree_generator.push({program.select_non_terminal(type.id()), new_depth}); + tree_generator.push({program.select_non_terminal_too_deep(type.id()), new_depth}); else tree_generator.push({program.select_terminal(type.id()), new_depth}); return; @@ -159,16 +159,10 @@ namespace blt::gp auto remainder = args.size % steps; population_t pop; - BLT_INFO(steps); - BLT_INFO(per_step); - BLT_INFO(remainder); - for (auto depth : blt::range(args.min_depth, args.max_depth)) { - BLT_TRACE(depth); for (auto i = 0ul; i < per_step; i++) { - BLT_DEBUG(i); if (args.program.choice()) pop.getIndividuals().push_back(full.generate({args.program, args.root_type, args.min_depth, depth})); else diff --git a/src/tree.cpp b/src/tree.cpp index 04bd793..6982c9e 100644 --- a/src/tree.cpp +++ b/src/tree.cpp @@ -40,7 +40,7 @@ namespace blt::gp operations_stack.pop_back(); if (operation.is_value) { - operation.transfer(values_process, value_stack); + operation.transfer(values_process, value_stack, -1); continue; } operation.func(context, values_process, value_stack);