Flat profile: Each sample counts as 0.01 seconds. % cumulative self self total time seconds seconds calls ms/call ms/call name 50.05 0.01 0.01 222343 0.00 0.00 operator new(unsigned long, void*) 50.05 0.02 0.01 7 1.43 1.43 std::vector >::size() const 0.00 0.02 0.00 164808 0.00 0.00 OpenMM::Vec3::~Vec3() 0.00 0.02 0.00 164808 0.00 0.00 void std::_Construct(OpenMM::Vec3*, OpenMM::Vec3 const&) 0.00 0.02 0.00 164808 0.00 0.00 void std::_Destroy(OpenMM::Vec3*) 0.00 0.02 0.00 57531 0.00 0.00 __gnu_cxx::new_allocator::construct(double*, double const&) 0.00 0.02 0.00 31380 0.00 0.00 OpenMM::Vec3::operator[](int) const 0.00 0.02 0.00 15694 0.00 0.00 std::vector >::operator[](unsigned long) 0.00 0.02 0.00 10753 0.00 0.00 data_start 0.00 0.02 0.00 7848 0.00 0.00 OpenMM::Vec3::operator[](int) 0.00 0.02 0.00 5231 0.00 0.00 OpenMM::Vec3::Vec3(double, double, double) 0.00 0.02 0.00 3672 0.00 0.00 std::vector >::size() const 0.00 0.02 0.00 2616 0.00 0.00 OpenMM::System::addParticle(double) 0.00 0.02 0.00 2616 0.00 0.00 std::vector >::push_back(double const&) 0.00 0.02 0.00 2615 0.00 0.00 OpenMM::Vec3::dot(OpenMM::Vec3 const&) const 0.00 0.02 0.00 2615 0.00 0.00 OpenMM::Vec3::operator-(OpenMM::Vec3 const&) const 0.00 0.02 0.00 2399 0.00 0.00 __gnu_cxx::new_allocator::~new_allocator() 0.00 0.02 0.00 2112 0.00 0.00 __gnu_cxx::new_allocator::new_allocator(__gnu_cxx::new_allocator const&) 0.00 0.02 0.00 904 0.00 0.00 __gnu_cxx::__normal_iterator > >::__normal_iterator(double* const&) 0.00 0.02 0.00 879 0.00 0.00 __gnu_cxx::new_allocator::max_size() const 0.00 0.02 0.00 858 0.00 0.00 std::allocator::allocator(std::allocator const&) 0.00 0.02 0.00 858 0.00 0.00 std::allocator::~allocator() 0.00 0.02 0.00 858 0.00 0.00 std::_Vector_base >::_M_get_Tp_allocator() 0.00 0.02 0.00 656 0.00 0.00 double* std::__copy_normal::__copy_n(double*, double*, double*) 0.00 0.02 0.00 656 0.00 0.00 double* std::__copy::copy(double const*, double const*, double*) 0.00 0.02 0.00 656 0.00 0.00 double* std::__copy_aux(double*, double*, double*) 0.00 0.02 0.00 656 0.00 0.00 double* std::uninitialized_copy(double*, double*, double*) 0.00 0.02 0.00 656 0.00 0.00 double* std::__uninitialized_copy_aux(double*, double*, double*, std::__true_type) 0.00 0.02 0.00 656 0.00 0.00 double* std::copy(double*, double*, double*) 0.00 0.02 0.00 615 0.00 0.00 void std::__destroy_aux(double*, double*, std::__true_type) 0.00 0.02 0.00 615 0.00 0.00 void std::_Destroy(double*, double*) 0.00 0.02 0.00 572 0.00 0.00 __gnu_cxx::new_allocator::~new_allocator() 0.00 0.02 0.00 572 0.00 0.00 __gnu_cxx::__normal_iterator > >::base() const 0.00 0.02 0.00 572 0.00 0.00 double* std::__uninitialized_copy_a(double*, double*, double*, std::allocator) 0.00 0.02 0.00 551 0.00 0.00 __gnu_cxx::new_allocator::deallocate(double*, unsigned long) 0.00 0.02 0.00 551 0.00 0.00 __gnu_cxx::new_allocator::allocate(unsigned long, void const*) 0.00 0.02 0.00 429 0.00 0.00 __gnu_cxx::new_allocator::new_allocator(__gnu_cxx::new_allocator const&) 0.00 0.02 0.00 328 0.00 0.00 std::_Vector_base >::_M_get_Tp_allocator() const 0.00 0.02 0.00 288 0.00 0.00 std::allocator::~allocator() 0.00 0.02 0.00 286 0.00 0.00 std::vector >::max_size() const 0.00 0.02 0.00 286 0.00 0.00 std::allocator::allocator(std::allocator const&) 0.00 0.02 0.00 286 0.00 0.00 std::_Vector_base >::_M_get_Tp_allocator() 0.00 0.02 0.00 286 0.00 0.00 std::_Vector_base >::_M_allocate(unsigned long) 0.00 0.02 0.00 286 0.00 0.00 std::_Vector_base >::_M_deallocate(double*, unsigned long) 0.00 0.02 0.00 286 0.00 0.00 std::vector >::_M_insert_aux(__gnu_cxx::__normal_iterator > >, double const&) 0.00 0.02 0.00 286 0.00 0.00 std::vector >::end() 0.00 0.02 0.00 286 0.00 0.00 void std::_Destroy(double*, double*, std::allocator) 0.00 0.02 0.00 145 0.00 0.00 __gnu_cxx::new_allocator, std::allocator > const, double> > >::~new_allocator() 0.00 0.02 0.00 145 0.00 0.00 __gnu_cxx::new_allocator, std::allocator > const, double> >::~new_allocator() 0.00 0.02 0.00 145 0.00 0.00 std::allocator, std::allocator > const, double> > >::~allocator() 0.00 0.02 0.00 145 0.00 0.00 std::_Rb_tree, std::allocator >, std::pair, std::allocator > const, double>, std::_Select1st, std::allocator > const, double> >, std::less, std::allocator > >, std::allocator, std::allocator > const, double> > >::_Rb_tree_impl, std::allocator > >, false>::~_Rb_tree_impl() 0.00 0.02 0.00 145 0.00 0.00 std::_Rb_tree, std::allocator >, std::pair, std::allocator > const, double>, std::_Select1st, std::allocator > const, double> >, std::less, std::allocator > >, std::allocator, std::allocator > const, double> > >::_M_begin() 0.00 0.02 0.00 145 0.00 0.00 std::_Rb_tree, std::allocator >, std::pair, std::allocator > const, double>, std::_Select1st, std::allocator > const, double> >, std::less, std::allocator > >, std::allocator, std::allocator > const, double> > >::_M_erase(std::_Rb_tree_node, std::allocator > const, double> >*) 0.00 0.02 0.00 145 0.00 0.00 std::_Rb_tree, std::allocator >, std::pair, std::allocator > const, double>, std::_Select1st, std::allocator > const, double> >, std::less, std::allocator > >, std::allocator, std::allocator > const, double> > >::~_Rb_tree() 0.00 0.02 0.00 143 0.00 0.00 __gnu_cxx::new_allocator::deallocate(OpenMM::Vec3*, unsigned long) 0.00 0.02 0.00 143 0.00 0.00 __gnu_cxx::new_allocator::allocate(unsigned long, void const*) 0.00 0.02 0.00 143 0.00 0.00 __gnu_cxx::new_allocator::new_allocator() 0.00 0.02 0.00 143 0.00 0.00 __gnu_cxx::new_allocator::max_size() const 0.00 0.02 0.00 143 0.00 0.00 std::allocator::allocator(std::allocator const&) 0.00 0.02 0.00 143 0.00 0.00 std::allocator::~allocator() 0.00 0.02 0.00 143 0.00 0.00 std::_Vector_base >::_M_allocate(unsigned long) 0.00 0.02 0.00 143 0.00 0.00 std::_Vector_base >::_Vector_impl::_Vector_impl(std::allocator const&) 0.00 0.02 0.00 143 0.00 0.00 std::_Vector_base >::_Vector_impl::~_Vector_impl() 0.00 0.02 0.00 143 0.00 0.00 std::_Vector_base >::_M_deallocate(OpenMM::Vec3*, unsigned long) 0.00 0.02 0.00 143 0.00 0.00 std::_Vector_base >::_Vector_base(unsigned long, std::allocator const&) 0.00 0.02 0.00 143 0.00 0.00 std::_Vector_base >::~_Vector_base() 0.00 0.02 0.00 143 0.00 0.00 void std::__destroy_aux(OpenMM::Vec3*, OpenMM::Vec3*, std::__false_type) 0.00 0.02 0.00 143 0.00 0.05 void std::uninitialized_fill_n(OpenMM::Vec3*, unsigned long, OpenMM::Vec3 const&) 0.00 0.02 0.00 143 0.00 0.05 void std::__uninitialized_fill_n_a(OpenMM::Vec3*, unsigned long, OpenMM::Vec3 const&, std::allocator) 0.00 0.02 0.00 143 0.00 0.05 void std::__uninitialized_fill_n_aux(OpenMM::Vec3*, unsigned long, OpenMM::Vec3 const&, std::__false_type) 0.00 0.02 0.00 143 0.00 0.00 void std::_Destroy(OpenMM::Vec3*, OpenMM::Vec3*) 0.00 0.02 0.00 143 0.00 0.00 void std::_Destroy(OpenMM::Vec3*, OpenMM::Vec3*, std::allocator) 0.00 0.02 0.00 122 0.00 0.00 std::vector >::~vector() 0.00 0.02 0.00 40 0.00 0.00 OpenMM::State::~State() 0.00 0.02 0.00 40 0.00 0.00 std::map, std::allocator >, double, std::less, std::allocator > >, std::allocator, std::allocator > const, double> > >::~map() 0.00 0.02 0.00 11 0.00 0.00 __gnu_cxx::new_allocator::~new_allocator() 0.00 0.02 0.00 10 0.00 0.00 __gnu_cxx::new_allocator::new_allocator(__gnu_cxx::new_allocator const&) 0.00 0.02 0.00 9 0.00 0.00 std::allocator::allocator(std::allocator const&) 0.00 0.02 0.00 9 0.00 0.00 std::allocator::~allocator() 0.00 0.02 0.00 9 0.00 0.00 std::_Vector_base >::_M_get_Tp_allocator() 0.00 0.02 0.00 6 0.00 0.00 __gnu_cxx::new_allocator::max_size() const 0.00 0.02 0.00 6 0.00 0.00 __gnu_cxx::__normal_iterator > >::base() const 0.00 0.02 0.00 6 0.00 0.00 OpenMM::Force** std::__copy_normal::__copy_n(OpenMM::Force**, OpenMM::Force**, OpenMM::Force**) 0.00 0.02 0.00 6 0.00 0.00 OpenMM::Force** std::__copy::copy(OpenMM::Force* const*, OpenMM::Force* const*, OpenMM::Force**) 0.00 0.02 0.00 6 0.00 0.00 OpenMM::Force** std::__copy_aux(OpenMM::Force**, OpenMM::Force**, OpenMM::Force**) 0.00 0.02 0.00 6 0.00 0.00 OpenMM::Force** std::uninitialized_copy(OpenMM::Force**, OpenMM::Force**, OpenMM::Force**) 0.00 0.02 0.00 6 0.00 0.00 OpenMM::Force** std::__uninitialized_copy_a(OpenMM::Force**, OpenMM::Force**, OpenMM::Force**, std::allocator) 0.00 0.02 0.00 6 0.00 0.00 OpenMM::Force** std::__uninitialized_copy_aux(OpenMM::Force**, OpenMM::Force**, OpenMM::Force**, std::__true_type) 0.00 0.02 0.00 6 0.00 0.00 OpenMM::Force** std::copy(OpenMM::Force**, OpenMM::Force**, OpenMM::Force**) 0.00 0.02 0.00 4 0.00 2.50 OpenMM::System::addForce(OpenMM::Force*) 0.00 0.02 0.00 4 0.00 0.00 __gnu_cxx::new_allocator::construct(OpenMM::Force**, OpenMM::Force* const&) 0.00 0.02 0.00 4 0.00 1.07 std::vector >::push_back(OpenMM::Force* const&) 0.00 0.02 0.00 4 0.00 0.00 void std::__destroy_aux(OpenMM::Force**, OpenMM::Force**, std::__true_type) 0.00 0.02 0.00 4 0.00 0.00 void std::_Destroy(OpenMM::Force**, OpenMM::Force**) 0.00 0.02 0.00 3 0.00 0.00 __gnu_cxx::new_allocator::deallocate(OpenMM::Force**, unsigned long) 0.00 0.02 0.00 3 0.00 0.00 __gnu_cxx::new_allocator::allocate(unsigned long, void const*) 0.00 0.02 0.00 3 0.00 0.00 __gnu_cxx::__normal_iterator > >::__normal_iterator(OpenMM::Force** const&) 0.00 0.02 0.00 3 0.00 0.00 std::_Vector_base >::_M_get_Tp_allocator() const 0.00 0.02 0.00 3 0.00 0.00 std::vector >::max_size() const 0.00 0.02 0.00 3 0.00 0.00 std::_Vector_base >::_M_allocate(unsigned long) 0.00 0.02 0.00 3 0.00 0.00 std::_Vector_base >::_M_deallocate(OpenMM::Force**, unsigned long) 0.00 0.02 0.00 3 0.00 1.43 std::vector >::_M_insert_aux(__gnu_cxx::__normal_iterator > >, OpenMM::Force* const&) 0.00 0.02 0.00 3 0.00 0.00 std::vector >::end() 0.00 0.02 0.00 3 0.00 0.00 void std::_Destroy(OpenMM::Force**, OpenMM::Force**, std::allocator) 0.00 0.02 0.00 2 0.00 0.00 OpenMM::Vec3::Vec3() 0.00 0.02 0.00 2 0.00 0.00 std::allocator::allocator() 0.00 0.02 0.00 2 0.00 3.71 std::vector >::vector(unsigned long, OpenMM::Vec3 const&, std::allocator const&) % the percentage of the total running time of the time program used by this function. cumulative a running sum of the number of seconds accounted seconds for by this function and those listed above it. self the number of seconds accounted for by this seconds function alone. This is the major sort for this listing. calls the number of times this function was invoked, if this function is profiled, else blank. self the average number of milliseconds spent in this ms/call function per call, if this function is profiled, else blank. total the average number of milliseconds spent in this ms/call function and its descendents per call, if this function is profiled, else blank. name the name of the function. This is the minor sort for this listing. The index shows the location of the function in the gprof listing. If the index is in parenthesis it shows where it would appear in the gprof listing if it were to be printed. Call graph (explanation follows) granularity: each sample hit covers 2 byte(s) for 49.95% of 0.02 seconds index % time self children called name [1] 100.0 0.00 0.02 main [1] 0.00 0.01 4/4 OpenMM::System::addForce(OpenMM::Force*) [2] 0.00 0.01 2/2 std::vector >::vector(unsigned long, OpenMM::Vec3 const&, std::allocator const&) [9] 0.00 0.00 2616/2616 OpenMM::System::addParticle(double) [13] 0.00 0.00 15694/15694 std::vector >::operator[](unsigned long) [26] 0.00 0.00 10753/10753 data_start [17] 0.00 0.00 7848/7848 OpenMM::Vec3::operator[](int) [27] 0.00 0.00 2616/5231 OpenMM::Vec3::Vec3(double, double, double) [28] 0.00 0.00 2615/2615 OpenMM::Vec3::operator-(OpenMM::Vec3 const&) const [31] 0.00 0.00 2615/2615 OpenMM::Vec3::dot(OpenMM::Vec3 const&) const [30] 0.00 0.00 40/40 OpenMM::State::~State() [85] 0.00 0.00 2/2 std::allocator::allocator() [113] 0.00 0.00 2/2 OpenMM::Vec3::Vec3() [112] 0.00 0.00 2/288 std::allocator::~allocator() [54] 0.00 0.00 2/122 std::vector >::~vector() [84] ----------------------------------------------- 0.00 0.01 4/4 main [1] [2] 50.0 0.00 0.01 4 OpenMM::System::addForce(OpenMM::Force*) [2] 0.01 0.00 4/7 std::vector >::size() const [4] 0.00 0.00 4/4 std::vector >::push_back(OpenMM::Force* const&) [10] ----------------------------------------------- 0.00 0.00 4/222343 __gnu_cxx::new_allocator::construct(OpenMM::Force**, OpenMM::Force* const&) [16] 0.00 0.00 57531/222343 __gnu_cxx::new_allocator::construct(double*, double const&) [12] 0.01 0.00 164808/222343 void std::_Construct(OpenMM::Vec3*, OpenMM::Vec3 const&) [5] [3] 50.0 0.01 0.00 222343 operator new(unsigned long, void*) [3] ----------------------------------------------- 0.00 0.00 3/7 std::vector >::_M_insert_aux(__gnu_cxx::__normal_iterator > >, OpenMM::Force* const&) [11] 0.01 0.00 4/7 OpenMM::System::addForce(OpenMM::Force*) [2] [4] 50.0 0.01 0.00 7 std::vector >::size() const [4] ----------------------------------------------- 0.00 0.01 164808/164808 void std::__uninitialized_fill_n_aux(OpenMM::Vec3*, unsigned long, OpenMM::Vec3 const&, std::__false_type) [8] [5] 37.1 0.00 0.01 164808 void std::_Construct(OpenMM::Vec3*, OpenMM::Vec3 const&) [5] 0.01 0.00 164808/222343 operator new(unsigned long, void*) [3] ----------------------------------------------- 0.00 0.01 143/143 void std::__uninitialized_fill_n_a(OpenMM::Vec3*, unsigned long, OpenMM::Vec3 const&, std::allocator) [7] [6] 37.1 0.00 0.01 143 void std::uninitialized_fill_n(OpenMM::Vec3*, unsigned long, OpenMM::Vec3 const&) [6] 0.00 0.01 143/143 void std::__uninitialized_fill_n_aux(OpenMM::Vec3*, unsigned long, OpenMM::Vec3 const&, std::__false_type) [8] ----------------------------------------------- 0.00 0.01 143/143 std::vector >::vector(unsigned long, OpenMM::Vec3 const&, std::allocator const&) [9] [7] 37.1 0.00 0.01 143 void std::__uninitialized_fill_n_a(OpenMM::Vec3*, unsigned long, OpenMM::Vec3 const&, std::allocator) [7] 0.00 0.01 143/143 void std::uninitialized_fill_n(OpenMM::Vec3*, unsigned long, OpenMM::Vec3 const&) [6] ----------------------------------------------- 0.00 0.01 143/143 void std::uninitialized_fill_n(OpenMM::Vec3*, unsigned long, OpenMM::Vec3 const&) [6] [8] 37.1 0.00 0.01 143 void std::__uninitialized_fill_n_aux(OpenMM::Vec3*, unsigned long, OpenMM::Vec3 const&, std::__false_type) [8] 0.00 0.01 164808/164808 void std::_Construct(OpenMM::Vec3*, OpenMM::Vec3 const&) [5] ----------------------------------------------- 0.00 0.01 2/2 main [1] [9] 37.1 0.00 0.01 2 std::vector >::vector(unsigned long, OpenMM::Vec3 const&, std::allocator const&) [9] 0.00 0.01 143/143 void std::__uninitialized_fill_n_a(OpenMM::Vec3*, unsigned long, OpenMM::Vec3 const&, std::allocator) [7] 0.00 0.00 143/143 std::_Vector_base >::_Vector_base(unsigned long, std::allocator const&) [79] 0.00 0.00 143/286 std::allocator::allocator(std::allocator const&) [56] 0.00 0.00 143/286 std::_Vector_base >::_M_get_Tp_allocator() [57] 0.00 0.00 143/288 std::allocator::~allocator() [54] ----------------------------------------------- 0.00 0.00 4/4 OpenMM::System::addForce(OpenMM::Force*) [2] [10] 21.4 0.00 0.00 4 std::vector >::push_back(OpenMM::Force* const&) [10] 0.00 0.00 3/3 std::vector >::_M_insert_aux(__gnu_cxx::__normal_iterator > >, OpenMM::Force* const&) [11] 0.00 0.00 1/4 __gnu_cxx::new_allocator::construct(OpenMM::Force**, OpenMM::Force* const&) [16] 0.00 0.00 3/3 std::vector >::end() [110] ----------------------------------------------- 0.00 0.00 3/3 std::vector >::push_back(OpenMM::Force* const&) [10] [11] 21.4 0.00 0.00 3 std::vector >::_M_insert_aux(__gnu_cxx::__normal_iterator > >, OpenMM::Force* const&) [11] 0.00 0.00 3/7 std::vector >::size() const [4] 0.00 0.00 3/4 __gnu_cxx::new_allocator::construct(OpenMM::Force**, OpenMM::Force* const&) [16] 0.00 0.00 9/9 std::allocator::allocator(std::allocator const&) [89] 0.00 0.00 9/9 std::_Vector_base >::_M_get_Tp_allocator() [91] 0.00 0.00 9/9 std::allocator::~allocator() [90] 0.00 0.00 6/6 __gnu_cxx::__normal_iterator > >::base() const [93] 0.00 0.00 6/6 OpenMM::Force** std::__uninitialized_copy_a(OpenMM::Force**, OpenMM::Force**, OpenMM::Force**, std::allocator) [98] 0.00 0.00 3/3 std::vector >::max_size() const [107] 0.00 0.00 3/3 std::_Vector_base >::_M_allocate(unsigned long) [108] 0.00 0.00 3/3 void std::_Destroy(OpenMM::Force**, OpenMM::Force**, std::allocator) [111] 0.00 0.00 3/3 std::_Vector_base >::_M_deallocate(OpenMM::Force**, unsigned long) [109] ----------------------------------------------- 0.00 0.00 286/57531 std::vector >::_M_insert_aux(__gnu_cxx::__normal_iterator > >, double const&) [15] 0.00 0.00 57245/57531 std::vector >::push_back(double const&) [14] [12] 12.9 0.00 0.00 57531 __gnu_cxx::new_allocator::construct(double*, double const&) [12] 0.00 0.00 57531/222343 operator new(unsigned long, void*) [3] ----------------------------------------------- 0.00 0.00 2616/2616 main [1] [13] 12.9 0.00 0.00 2616 OpenMM::System::addParticle(double) [13] 0.00 0.00 2616/2616 std::vector >::push_back(double const&) [14] 0.00 0.00 2616/3672 std::vector >::size() const [29] ----------------------------------------------- 0.00 0.00 2616/2616 OpenMM::System::addParticle(double) [13] [14] 12.9 0.00 0.00 2616 std::vector >::push_back(double const&) [14] 0.00 0.00 57245/57531 __gnu_cxx::new_allocator::construct(double*, double const&) [12] 0.00 0.00 286/286 std::vector >::_M_insert_aux(__gnu_cxx::__normal_iterator > >, double const&) [15] 0.00 0.00 286/286 std::vector >::end() [60] ----------------------------------------------- 0.00 0.00 286/286 std::vector >::push_back(double const&) [14] [15] 0.1 0.00 0.00 286 std::vector >::_M_insert_aux(__gnu_cxx::__normal_iterator > >, double const&) [15] 0.00 0.00 286/57531 __gnu_cxx::new_allocator::construct(double*, double const&) [12] 0.00 0.00 858/858 std::_Vector_base >::_M_get_Tp_allocator() [38] 0.00 0.00 858/858 std::allocator::allocator(std::allocator const&) [36] 0.00 0.00 858/858 std::allocator::~allocator() [37] 0.00 0.00 572/572 __gnu_cxx::__normal_iterator > >::base() const [48] 0.00 0.00 572/572 double* std::__uninitialized_copy_a(double*, double*, double*, std::allocator) [49] 0.00 0.00 286/3672 std::vector >::size() const [29] 0.00 0.00 286/286 std::vector >::max_size() const [55] 0.00 0.00 286/286 std::_Vector_base >::_M_allocate(unsigned long) [58] 0.00 0.00 286/286 void std::_Destroy(double*, double*, std::allocator) [61] 0.00 0.00 286/286 std::_Vector_base >::_M_deallocate(double*, unsigned long) [59] ----------------------------------------------- 0.00 0.00 1/4 std::vector >::push_back(OpenMM::Force* const&) [10] 0.00 0.00 3/4 std::vector >::_M_insert_aux(__gnu_cxx::__normal_iterator > >, OpenMM::Force* const&) [11] [16] 0.0 0.00 0.00 4 __gnu_cxx::new_allocator::construct(OpenMM::Force**, OpenMM::Force* const&) [16] 0.00 0.00 4/222343 operator new(unsigned long, void*) [3] ----------------------------------------------- 0.00 0.00 10753/10753 main [1] [17] 0.0 0.00 0.00 10753 data_start [17] ----------------------------------------------- 0.00 0.00 164808/164808 void std::_Destroy(OpenMM::Vec3*) [24] [23] 0.0 0.00 0.00 164808 OpenMM::Vec3::~Vec3() [23] ----------------------------------------------- 0.00 0.00 164808/164808 void std::__destroy_aux(OpenMM::Vec3*, OpenMM::Vec3*, std::__false_type) [81] [24] 0.0 0.00 0.00 164808 void std::_Destroy(OpenMM::Vec3*) [24] 0.00 0.00 164808/164808 OpenMM::Vec3::~Vec3() [23] ----------------------------------------------- 0.00 0.00 15690/31380 OpenMM::Vec3::operator-(OpenMM::Vec3 const&) const [31] 0.00 0.00 15690/31380 OpenMM::Vec3::dot(OpenMM::Vec3 const&) const [30] [25] 0.0 0.00 0.00 31380 OpenMM::Vec3::operator[](int) const [25] ----------------------------------------------- 0.00 0.00 15694/15694 main [1] [26] 0.0 0.00 0.00 15694 std::vector >::operator[](unsigned long) [26] ----------------------------------------------- 0.00 0.00 7848/7848 main [1] [27] 0.0 0.00 0.00 7848 OpenMM::Vec3::operator[](int) [27] ----------------------------------------------- 0.00 0.00 2615/5231 OpenMM::Vec3::operator-(OpenMM::Vec3 const&) const [31] 0.00 0.00 2616/5231 main [1] [28] 0.0 0.00 0.00 5231 OpenMM::Vec3::Vec3(double, double, double) [28] ----------------------------------------------- 0.00 0.00 286/3672 std::vector >::_M_insert_aux(__gnu_cxx::__normal_iterator > >, double const&) [15] 0.00 0.00 770/3672 OpenMM::System::getNumParticles() const [118] 0.00 0.00 2616/3672 OpenMM::System::addParticle(double) [13] [29] 0.0 0.00 0.00 3672 std::vector >::size() const [29] ----------------------------------------------- 0.00 0.00 2615/2615 main [1] [30] 0.0 0.00 0.00 2615 OpenMM::Vec3::dot(OpenMM::Vec3 const&) const [30] 0.00 0.00 15690/31380 OpenMM::Vec3::operator[](int) const [25] ----------------------------------------------- 0.00 0.00 2615/2615 main [1] [31] 0.0 0.00 0.00 2615 OpenMM::Vec3::operator-(OpenMM::Vec3 const&) const [31] 0.00 0.00 15690/31380 OpenMM::Vec3::operator[](int) const [25] 0.00 0.00 2615/5231 OpenMM::Vec3::Vec3(double, double, double) [28] ----------------------------------------------- 0.00 0.00 2399/2399 std::allocator::~allocator() [37] [32] 0.0 0.00 0.00 2399 __gnu_cxx::new_allocator::~new_allocator() [32] ----------------------------------------------- 0.00 0.00 2112/2112 std::allocator::allocator(std::allocator const&) [36] [33] 0.0 0.00 0.00 2112 __gnu_cxx::new_allocator::new_allocator(__gnu_cxx::new_allocator const&) [33] ----------------------------------------------- 0.00 0.00 904/904 std::vector >::end() [60] [34] 0.0 0.00 0.00 904 __gnu_cxx::__normal_iterator > >::__normal_iterator(double* const&) [34] ----------------------------------------------- 0.00 0.00 328/879 std::vector >::max_size() const [55] 0.00 0.00 551/879 __gnu_cxx::new_allocator::allocate(unsigned long, void const*) [51] [35] 0.0 0.00 0.00 879 __gnu_cxx::new_allocator::max_size() const [35] ----------------------------------------------- 0.00 0.00 858/858 std::vector >::_M_insert_aux(__gnu_cxx::__normal_iterator > >, double const&) [15] [36] 0.0 0.00 0.00 858 std::allocator::allocator(std::allocator const&) [36] 0.00 0.00 2112/2112 __gnu_cxx::new_allocator::new_allocator(__gnu_cxx::new_allocator const&) [33] ----------------------------------------------- 0.00 0.00 858/858 std::vector >::_M_insert_aux(__gnu_cxx::__normal_iterator > >, double const&) [15] [37] 0.0 0.00 0.00 858 std::allocator::~allocator() [37] 0.00 0.00 2399/2399 __gnu_cxx::new_allocator::~new_allocator() [32] ----------------------------------------------- 0.00 0.00 858/858 std::vector >::_M_insert_aux(__gnu_cxx::__normal_iterator > >, double const&) [15] [38] 0.0 0.00 0.00 858 std::_Vector_base >::_M_get_Tp_allocator() [38] ----------------------------------------------- 0.00 0.00 656/656 double* std::copy(double*, double*, double*) [44] [39] 0.0 0.00 0.00 656 double* std::__copy_normal::__copy_n(double*, double*, double*) [39] 0.00 0.00 656/656 double* std::__copy_aux(double*, double*, double*) [41] ----------------------------------------------- 0.00 0.00 656/656 double* std::__copy_aux(double*, double*, double*) [41] [40] 0.0 0.00 0.00 656 double* std::__copy::copy(double const*, double const*, double*) [40] ----------------------------------------------- 0.00 0.00 656/656 double* std::__copy_normal::__copy_n(double*, double*, double*) [39] [41] 0.0 0.00 0.00 656 double* std::__copy_aux(double*, double*, double*) [41] 0.00 0.00 656/656 double* std::__copy::copy(double const*, double const*, double*) [40] ----------------------------------------------- 0.00 0.00 656/656 double* std::__uninitialized_copy_a(double*, double*, double*, std::allocator) [49] [42] 0.0 0.00 0.00 656 double* std::uninitialized_copy(double*, double*, double*) [42] 0.00 0.00 656/656 double* std::__uninitialized_copy_aux(double*, double*, double*, std::__true_type) [43] ----------------------------------------------- 0.00 0.00 656/656 double* std::uninitialized_copy(double*, double*, double*) [42] [43] 0.0 0.00 0.00 656 double* std::__uninitialized_copy_aux(double*, double*, double*, std::__true_type) [43] 0.00 0.00 656/656 double* std::copy(double*, double*, double*) [44] ----------------------------------------------- 0.00 0.00 656/656 double* std::__uninitialized_copy_aux(double*, double*, double*, std::__true_type) [43] [44] 0.0 0.00 0.00 656 double* std::copy(double*, double*, double*) [44] 0.00 0.00 656/656 double* std::__copy_normal::__copy_n(double*, double*, double*) [39] ----------------------------------------------- 0.00 0.00 615/615 void std::_Destroy(double*, double*) [46] [45] 0.0 0.00 0.00 615 void std::__destroy_aux(double*, double*, std::__true_type) [45] ----------------------------------------------- 0.00 0.00 615/615 void std::_Destroy(double*, double*, std::allocator) [61] [46] 0.0 0.00 0.00 615 void std::_Destroy(double*, double*) [46] 0.00 0.00 615/615 void std::__destroy_aux(double*, double*, std::__true_type) [45] ----------------------------------------------- 0.00 0.00 143/572 std::allocator::~allocator() [74] 0.00 0.00 429/572 std::allocator::~allocator() [54] [47] 0.0 0.00 0.00 572 __gnu_cxx::new_allocator::~new_allocator() [47] ----------------------------------------------- 0.00 0.00 572/572 std::vector >::_M_insert_aux(__gnu_cxx::__normal_iterator > >, double const&) [15] [48] 0.0 0.00 0.00 572 __gnu_cxx::__normal_iterator > >::base() const [48] ----------------------------------------------- 0.00 0.00 572/572 std::vector >::_M_insert_aux(__gnu_cxx::__normal_iterator > >, double const&) [15] [49] 0.0 0.00 0.00 572 double* std::__uninitialized_copy_a(double*, double*, double*, std::allocator) [49] 0.00 0.00 656/656 double* std::uninitialized_copy(double*, double*, double*) [42] ----------------------------------------------- 0.00 0.00 551/551 std::_Vector_base >::_M_deallocate(double*, unsigned long) [59] [50] 0.0 0.00 0.00 551 __gnu_cxx::new_allocator::deallocate(double*, unsigned long) [50] ----------------------------------------------- 0.00 0.00 551/551 std::_Vector_base >::_M_allocate(unsigned long) [58] [51] 0.0 0.00 0.00 551 __gnu_cxx::new_allocator::allocate(unsigned long, void const*) [51] 0.00 0.00 551/879 __gnu_cxx::new_allocator::max_size() const [35] ----------------------------------------------- 0.00 0.00 143/429 std::allocator::allocator(std::allocator const&) [73] 0.00 0.00 286/429 std::allocator::allocator(std::allocator const&) [56] [52] 0.0 0.00 0.00 429 __gnu_cxx::new_allocator::new_allocator(__gnu_cxx::new_allocator const&) [52] ----------------------------------------------- 0.00 0.00 328/328 std::vector >::max_size() const [55] [53] 0.0 0.00 0.00 328 std::_Vector_base >::_M_get_Tp_allocator() const [53] ----------------------------------------------- 0.00 0.00 2/288 main [1] 0.00 0.00 143/288 std::vector >::~vector() [84] 0.00 0.00 143/288 std::vector >::vector(unsigned long, OpenMM::Vec3 const&, std::allocator const&) [9] [54] 0.0 0.00 0.00 288 std::allocator::~allocator() [54] 0.00 0.00 429/572 __gnu_cxx::new_allocator::~new_allocator() [47] ----------------------------------------------- 0.00 0.00 286/286 std::vector >::_M_insert_aux(__gnu_cxx::__normal_iterator > >, double const&) [15] [55] 0.0 0.00 0.00 286 std::vector >::max_size() const [55] 0.00 0.00 328/328 std::_Vector_base >::_M_get_Tp_allocator() const [53] 0.00 0.00 328/879 __gnu_cxx::new_allocator::max_size() const [35] ----------------------------------------------- 0.00 0.00 143/286 std::vector >::~vector() [84] 0.00 0.00 143/286 std::vector >::vector(unsigned long, OpenMM::Vec3 const&, std::allocator const&) [9] [56] 0.0 0.00 0.00 286 std::allocator::allocator(std::allocator const&) [56] 0.00 0.00 286/429 __gnu_cxx::new_allocator::new_allocator(__gnu_cxx::new_allocator const&) [52] ----------------------------------------------- 0.00 0.00 143/286 std::vector >::~vector() [84] 0.00 0.00 143/286 std::vector >::vector(unsigned long, OpenMM::Vec3 const&, std::allocator const&) [9] [57] 0.0 0.00 0.00 286 std::_Vector_base >::_M_get_Tp_allocator() [57] ----------------------------------------------- 0.00 0.00 286/286 std::vector >::_M_insert_aux(__gnu_cxx::__normal_iterator > >, double const&) [15] [58] 0.0 0.00 0.00 286 std::_Vector_base >::_M_allocate(unsigned long) [58] 0.00 0.00 551/551 __gnu_cxx::new_allocator::allocate(unsigned long, void const*) [51] ----------------------------------------------- 0.00 0.00 286/286 std::vector >::_M_insert_aux(__gnu_cxx::__normal_iterator > >, double const&) [15] [59] 0.0 0.00 0.00 286 std::_Vector_base >::_M_deallocate(double*, unsigned long) [59] 0.00 0.00 551/551 __gnu_cxx::new_allocator::deallocate(double*, unsigned long) [50] ----------------------------------------------- 0.00 0.00 286/286 std::vector >::push_back(double const&) [14] [60] 0.0 0.00 0.00 286 std::vector >::end() [60] 0.00 0.00 904/904 __gnu_cxx::__normal_iterator > >::__normal_iterator(double* const&) [34] ----------------------------------------------- 0.00 0.00 286/286 std::vector >::_M_insert_aux(__gnu_cxx::__normal_iterator > >, double const&) [15] [61] 0.0 0.00 0.00 286 void std::_Destroy(double*, double*, std::allocator) [61] 0.00 0.00 615/615 void std::_Destroy(double*, double*) [46] ----------------------------------------------- 0.00 0.00 145/145 std::allocator, std::allocator > const, double> > >::~allocator() [64] [62] 0.0 0.00 0.00 145 __gnu_cxx::new_allocator, std::allocator > const, double> > >::~new_allocator() [62] ----------------------------------------------- 0.00 0.00 145/145 std::allocator, std::allocator > const, double> >::~allocator() [125] [63] 0.0 0.00 0.00 145 __gnu_cxx::new_allocator, std::allocator > const, double> >::~new_allocator() [63] ----------------------------------------------- 0.00 0.00 145/145 std::_Rb_tree, std::allocator >, std::pair, std::allocator > const, double>, std::_Select1st, std::allocator > const, double> >, std::less, std::allocator > >, std::allocator, std::allocator > const, double> > >::_Rb_tree_impl, std::allocator > >, false>::~_Rb_tree_impl() [65] [64] 0.0 0.00 0.00 145 std::allocator, std::allocator > const, double> > >::~allocator() [64] 0.00 0.00 145/145 __gnu_cxx::new_allocator, std::allocator > const, double> > >::~new_allocator() [62] ----------------------------------------------- 0.00 0.00 145/145 std::_Rb_tree, std::allocator >, std::pair, std::allocator > const, double>, std::_Select1st, std::allocator > const, double> >, std::less, std::allocator > >, std::allocator, std::allocator > const, double> > >::~_Rb_tree() [68] [65] 0.0 0.00 0.00 145 std::_Rb_tree, std::allocator >, std::pair, std::allocator > const, double>, std::_Select1st, std::allocator > const, double> >, std::less, std::allocator > >, std::allocator, std::allocator > const, double> > >::_Rb_tree_impl, std::allocator > >, false>::~_Rb_tree_impl() [65] 0.00 0.00 145/145 std::allocator, std::allocator > const, double> > >::~allocator() [64] ----------------------------------------------- 0.00 0.00 145/145 std::_Rb_tree, std::allocator >, std::pair, std::allocator > const, double>, std::_Select1st, std::allocator > const, double> >, std::less, std::allocator > >, std::allocator, std::allocator > const, double> > >::~_Rb_tree() [68] [66] 0.0 0.00 0.00 145 std::_Rb_tree, std::allocator >, std::pair, std::allocator > const, double>, std::_Select1st, std::allocator > const, double> >, std::less, std::allocator > >, std::allocator, std::allocator > const, double> > >::_M_begin() [66] ----------------------------------------------- 0.00 0.00 145/145 std::_Rb_tree, std::allocator >, std::pair, std::allocator > const, double>, std::_Select1st, std::allocator > const, double> >, std::less, std::allocator > >, std::allocator, std::allocator > const, double> > >::~_Rb_tree() [68] [67] 0.0 0.00 0.00 145 std::_Rb_tree, std::allocator >, std::pair, std::allocator > const, double>, std::_Select1st, std::allocator > const, double> >, std::less, std::allocator > >, std::allocator, std::allocator > const, double> > >::_M_erase(std::_Rb_tree_node, std::allocator > const, double> >*) [67] ----------------------------------------------- 0.00 0.00 145/145 std::map, std::allocator >, double, std::less, std::allocator > >, std::allocator, std::allocator > const, double> > >::~map() [86] [68] 0.0 0.00 0.00 145 std::_Rb_tree, std::allocator >, std::pair, std::allocator > const, double>, std::_Select1st, std::allocator > const, double> >, std::less, std::allocator > >, std::allocator, std::allocator > const, double> > >::~_Rb_tree() [68] 0.00 0.00 145/145 std::_Rb_tree, std::allocator >, std::pair, std::allocator > const, double>, std::_Select1st, std::allocator > const, double> >, std::less, std::allocator > >, std::allocator, std::allocator > const, double> > >::_M_begin() [66] 0.00 0.00 145/145 std::_Rb_tree, std::allocator >, std::pair, std::allocator > const, double>, std::_Select1st, std::allocator > const, double> >, std::less, std::allocator > >, std::allocator, std::allocator > const, double> > >::_M_erase(std::_Rb_tree_node, std::allocator > const, double> >*) [67] 0.00 0.00 145/145 std::_Rb_tree, std::allocator >, std::pair, std::allocator > const, double>, std::_Select1st, std::allocator > const, double> >, std::less, std::allocator > >, std::allocator, std::allocator > const, double> > >::_Rb_tree_impl, std::allocator > >, false>::~_Rb_tree_impl() [65] ----------------------------------------------- 0.00 0.00 143/143 std::_Vector_base >::_M_deallocate(OpenMM::Vec3*, unsigned long) [78] [69] 0.0 0.00 0.00 143 __gnu_cxx::new_allocator::deallocate(OpenMM::Vec3*, unsigned long) [69] ----------------------------------------------- 0.00 0.00 143/143 std::_Vector_base >::_M_allocate(unsigned long) [75] [70] 0.0 0.00 0.00 143 __gnu_cxx::new_allocator::allocate(unsigned long, void const*) [70] 0.00 0.00 143/143 __gnu_cxx::new_allocator::max_size() const [72] ----------------------------------------------- 0.00 0.00 143/143 std::allocator::allocator() [113] [71] 0.0 0.00 0.00 143 __gnu_cxx::new_allocator::new_allocator() [71] ----------------------------------------------- 0.00 0.00 143/143 __gnu_cxx::new_allocator::allocate(unsigned long, void const*) [70] [72] 0.0 0.00 0.00 143 __gnu_cxx::new_allocator::max_size() const [72] ----------------------------------------------- 0.00 0.00 143/143 std::_Vector_base >::_Vector_impl::_Vector_impl(std::allocator const&) [76] [73] 0.0 0.00 0.00 143 std::allocator::allocator(std::allocator const&) [73] 0.00 0.00 143/429 __gnu_cxx::new_allocator::new_allocator(__gnu_cxx::new_allocator const&) [52] ----------------------------------------------- 0.00 0.00 143/143 std::_Vector_base >::_Vector_impl::~_Vector_impl() [77] [74] 0.0 0.00 0.00 143 std::allocator::~allocator() [74] 0.00 0.00 143/572 __gnu_cxx::new_allocator::~new_allocator() [47] ----------------------------------------------- 0.00 0.00 143/143 std::_Vector_base >::_Vector_base(unsigned long, std::allocator const&) [79] [75] 0.0 0.00 0.00 143 std::_Vector_base >::_M_allocate(unsigned long) [75] 0.00 0.00 143/143 __gnu_cxx::new_allocator::allocate(unsigned long, void const*) [70] ----------------------------------------------- 0.00 0.00 143/143 std::_Vector_base >::_Vector_base(unsigned long, std::allocator const&) [79] [76] 0.0 0.00 0.00 143 std::_Vector_base >::_Vector_impl::_Vector_impl(std::allocator const&) [76] 0.00 0.00 143/143 std::allocator::allocator(std::allocator const&) [73] ----------------------------------------------- 0.00 0.00 143/143 std::_Vector_base >::~_Vector_base() [80] [77] 0.0 0.00 0.00 143 std::_Vector_base >::_Vector_impl::~_Vector_impl() [77] 0.00 0.00 143/143 std::allocator::~allocator() [74] ----------------------------------------------- 0.00 0.00 143/143 std::_Vector_base >::~_Vector_base() [80] [78] 0.0 0.00 0.00 143 std::_Vector_base >::_M_deallocate(OpenMM::Vec3*, unsigned long) [78] 0.00 0.00 143/143 __gnu_cxx::new_allocator::deallocate(OpenMM::Vec3*, unsigned long) [69] ----------------------------------------------- 0.00 0.00 143/143 std::vector >::vector(unsigned long, OpenMM::Vec3 const&, std::allocator const&) [9] [79] 0.0 0.00 0.00 143 std::_Vector_base >::_Vector_base(unsigned long, std::allocator const&) [79] 0.00 0.00 143/143 std::_Vector_base >::_Vector_impl::_Vector_impl(std::allocator const&) [76] 0.00 0.00 143/143 std::_Vector_base >::_M_allocate(unsigned long) [75] ----------------------------------------------- 0.00 0.00 143/143 std::vector >::~vector() [84] [80] 0.0 0.00 0.00 143 std::_Vector_base >::~_Vector_base() [80] 0.00 0.00 143/143 std::_Vector_base >::_M_deallocate(OpenMM::Vec3*, unsigned long) [78] 0.00 0.00 143/143 std::_Vector_base >::_Vector_impl::~_Vector_impl() [77] ----------------------------------------------- 0.00 0.00 143/143 void std::_Destroy(OpenMM::Vec3*, OpenMM::Vec3*) [82] [81] 0.0 0.00 0.00 143 void std::__destroy_aux(OpenMM::Vec3*, OpenMM::Vec3*, std::__false_type) [81] 0.00 0.00 164808/164808 void std::_Destroy(OpenMM::Vec3*) [24] ----------------------------------------------- 0.00 0.00 143/143 void std::_Destroy(OpenMM::Vec3*, OpenMM::Vec3*, std::allocator) [83] [82] 0.0 0.00 0.00 143 void std::_Destroy(OpenMM::Vec3*, OpenMM::Vec3*) [82] 0.00 0.00 143/143 void std::__destroy_aux(OpenMM::Vec3*, OpenMM::Vec3*, std::__false_type) [81] ----------------------------------------------- 0.00 0.00 143/143 std::vector >::~vector() [84] [83] 0.0 0.00 0.00 143 void std::_Destroy(OpenMM::Vec3*, OpenMM::Vec3*, std::allocator) [83] 0.00 0.00 143/143 void std::_Destroy(OpenMM::Vec3*, OpenMM::Vec3*) [82] ----------------------------------------------- 0.00 0.00 2/122 main [1] 0.00 0.00 120/122 OpenMM::State::~State() [85] [84] 0.0 0.00 0.00 122 std::vector >::~vector() [84] 0.00 0.00 143/286 std::_Vector_base >::_M_get_Tp_allocator() [57] 0.00 0.00 143/286 std::allocator::allocator(std::allocator const&) [56] 0.00 0.00 143/288 std::allocator::~allocator() [54] 0.00 0.00 143/143 void std::_Destroy(OpenMM::Vec3*, OpenMM::Vec3*, std::allocator) [83] 0.00 0.00 143/143 std::_Vector_base >::~_Vector_base() [80] ----------------------------------------------- 0.00 0.00 40/40 main [1] [85] 0.0 0.00 0.00 40 OpenMM::State::~State() [85] 0.00 0.00 120/122 std::vector >::~vector() [84] 0.00 0.00 40/40 std::map, std::allocator >, double, std::less, std::allocator > >, std::allocator, std::allocator > const, double> > >::~map() [86] ----------------------------------------------- 0.00 0.00 40/40 OpenMM::State::~State() [85] [86] 0.0 0.00 0.00 40 std::map, std::allocator >, double, std::less, std::allocator > >, std::allocator, std::allocator > const, double> > >::~map() [86] 0.00 0.00 145/145 std::_Rb_tree, std::allocator >, std::pair, std::allocator > const, double>, std::_Select1st, std::allocator > const, double> >, std::less, std::allocator > >, std::allocator, std::allocator > const, double> > >::~_Rb_tree() [68] ----------------------------------------------- 0.00 0.00 11/11 std::allocator::~allocator() [90] [87] 0.0 0.00 0.00 11 __gnu_cxx::new_allocator::~new_allocator() [87] ----------------------------------------------- 0.00 0.00 10/10 std::allocator::allocator(std::allocator const&) [89] [88] 0.0 0.00 0.00 10 __gnu_cxx::new_allocator::new_allocator(__gnu_cxx::new_allocator const&) [88] ----------------------------------------------- 0.00 0.00 9/9 std::vector >::_M_insert_aux(__gnu_cxx::__normal_iterator > >, OpenMM::Force* const&) [11] [89] 0.0 0.00 0.00 9 std::allocator::allocator(std::allocator const&) [89] 0.00 0.00 10/10 __gnu_cxx::new_allocator::new_allocator(__gnu_cxx::new_allocator const&) [88] ----------------------------------------------- 0.00 0.00 9/9 std::vector >::_M_insert_aux(__gnu_cxx::__normal_iterator > >, OpenMM::Force* const&) [11] [90] 0.0 0.00 0.00 9 std::allocator::~allocator() [90] 0.00 0.00 11/11 __gnu_cxx::new_allocator::~new_allocator() [87] ----------------------------------------------- 0.00 0.00 9/9 std::vector >::_M_insert_aux(__gnu_cxx::__normal_iterator > >, OpenMM::Force* const&) [11] [91] 0.0 0.00 0.00 9 std::_Vector_base >::_M_get_Tp_allocator() [91] ----------------------------------------------- 0.00 0.00 3/6 std::vector >::max_size() const [107] 0.00 0.00 3/6 __gnu_cxx::new_allocator::allocate(unsigned long, void const*) [104] [92] 0.0 0.00 0.00 6 __gnu_cxx::new_allocator::max_size() const [92] ----------------------------------------------- 0.00 0.00 6/6 std::vector >::_M_insert_aux(__gnu_cxx::__normal_iterator > >, OpenMM::Force* const&) [11] [93] 0.0 0.00 0.00 6 __gnu_cxx::__normal_iterator > >::base() const [93] ----------------------------------------------- 0.00 0.00 6/6 OpenMM::Force** std::copy(OpenMM::Force**, OpenMM::Force**, OpenMM::Force**) [100] [94] 0.0 0.00 0.00 6 OpenMM::Force** std::__copy_normal::__copy_n(OpenMM::Force**, OpenMM::Force**, OpenMM::Force**) [94] 0.00 0.00 6/6 OpenMM::Force** std::__copy_aux(OpenMM::Force**, OpenMM::Force**, OpenMM::Force**) [96] ----------------------------------------------- 0.00 0.00 6/6 OpenMM::Force** std::__copy_aux(OpenMM::Force**, OpenMM::Force**, OpenMM::Force**) [96] [95] 0.0 0.00 0.00 6 OpenMM::Force** std::__copy::copy(OpenMM::Force* const*, OpenMM::Force* const*, OpenMM::Force**) [95] ----------------------------------------------- 0.00 0.00 6/6 OpenMM::Force** std::__copy_normal::__copy_n(OpenMM::Force**, OpenMM::Force**, OpenMM::Force**) [94] [96] 0.0 0.00 0.00 6 OpenMM::Force** std::__copy_aux(OpenMM::Force**, OpenMM::Force**, OpenMM::Force**) [96] 0.00 0.00 6/6 OpenMM::Force** std::__copy::copy(OpenMM::Force* const*, OpenMM::Force* const*, OpenMM::Force**) [95] ----------------------------------------------- 0.00 0.00 6/6 OpenMM::Force** std::__uninitialized_copy_a(OpenMM::Force**, OpenMM::Force**, OpenMM::Force**, std::allocator) [98] [97] 0.0 0.00 0.00 6 OpenMM::Force** std::uninitialized_copy(OpenMM::Force**, OpenMM::Force**, OpenMM::Force**) [97] 0.00 0.00 6/6 OpenMM::Force** std::__uninitialized_copy_aux(OpenMM::Force**, OpenMM::Force**, OpenMM::Force**, std::__true_type) [99] ----------------------------------------------- 0.00 0.00 6/6 std::vector >::_M_insert_aux(__gnu_cxx::__normal_iterator > >, OpenMM::Force* const&) [11] [98] 0.0 0.00 0.00 6 OpenMM::Force** std::__uninitialized_copy_a(OpenMM::Force**, OpenMM::Force**, OpenMM::Force**, std::allocator) [98] 0.00 0.00 6/6 OpenMM::Force** std::uninitialized_copy(OpenMM::Force**, OpenMM::Force**, OpenMM::Force**) [97] ----------------------------------------------- 0.00 0.00 6/6 OpenMM::Force** std::uninitialized_copy(OpenMM::Force**, OpenMM::Force**, OpenMM::Force**) [97] [99] 0.0 0.00 0.00 6 OpenMM::Force** std::__uninitialized_copy_aux(OpenMM::Force**, OpenMM::Force**, OpenMM::Force**, std::__true_type) [99] 0.00 0.00 6/6 OpenMM::Force** std::copy(OpenMM::Force**, OpenMM::Force**, OpenMM::Force**) [100] ----------------------------------------------- 0.00 0.00 6/6 OpenMM::Force** std::__uninitialized_copy_aux(OpenMM::Force**, OpenMM::Force**, OpenMM::Force**, std::__true_type) [99] [100] 0.0 0.00 0.00 6 OpenMM::Force** std::copy(OpenMM::Force**, OpenMM::Force**, OpenMM::Force**) [100] 0.00 0.00 6/6 OpenMM::Force** std::__copy_normal::__copy_n(OpenMM::Force**, OpenMM::Force**, OpenMM::Force**) [94] ----------------------------------------------- 0.00 0.00 4/4 void std::_Destroy(OpenMM::Force**, OpenMM::Force**) [102] [101] 0.0 0.00 0.00 4 void std::__destroy_aux(OpenMM::Force**, OpenMM::Force**, std::__true_type) [101] ----------------------------------------------- 0.00 0.00 4/4 void std::_Destroy(OpenMM::Force**, OpenMM::Force**, std::allocator) [111] [102] 0.0 0.00 0.00 4 void std::_Destroy(OpenMM::Force**, OpenMM::Force**) [102] 0.00 0.00 4/4 void std::__destroy_aux(OpenMM::Force**, OpenMM::Force**, std::__true_type) [101] ----------------------------------------------- 0.00 0.00 3/3 std::_Vector_base >::_M_deallocate(OpenMM::Force**, unsigned long) [109] [103] 0.0 0.00 0.00 3 __gnu_cxx::new_allocator::deallocate(OpenMM::Force**, unsigned long) [103] ----------------------------------------------- 0.00 0.00 3/3 std::_Vector_base >::_M_allocate(unsigned long) [108] [104] 0.0 0.00 0.00 3 __gnu_cxx::new_allocator::allocate(unsigned long, void const*) [104] 0.00 0.00 3/6 __gnu_cxx::new_allocator::max_size() const [92] ----------------------------------------------- 0.00 0.00 3/3 std::vector >::end() [110] [105] 0.0 0.00 0.00 3 __gnu_cxx::__normal_iterator > >::__normal_iterator(OpenMM::Force** const&) [105] ----------------------------------------------- 0.00 0.00 3/3 std::vector >::max_size() const [107] [106] 0.0 0.00 0.00 3 std::_Vector_base >::_M_get_Tp_allocator() const [106] ----------------------------------------------- 0.00 0.00 3/3 std::vector >::_M_insert_aux(__gnu_cxx::__normal_iterator > >, OpenMM::Force* const&) [11] [107] 0.0 0.00 0.00 3 std::vector >::max_size() const [107] 0.00 0.00 3/3 std::_Vector_base >::_M_get_Tp_allocator() const [106] 0.00 0.00 3/6 __gnu_cxx::new_allocator::max_size() const [92] ----------------------------------------------- 0.00 0.00 3/3 std::vector >::_M_insert_aux(__gnu_cxx::__normal_iterator > >, OpenMM::Force* const&) [11] [108] 0.0 0.00 0.00 3 std::_Vector_base >::_M_allocate(unsigned long) [108] 0.00 0.00 3/3 __gnu_cxx::new_allocator::allocate(unsigned long, void const*) [104] ----------------------------------------------- 0.00 0.00 3/3 std::vector >::_M_insert_aux(__gnu_cxx::__normal_iterator > >, OpenMM::Force* const&) [11] [109] 0.0 0.00 0.00 3 std::_Vector_base >::_M_deallocate(OpenMM::Force**, unsigned long) [109] 0.00 0.00 3/3 __gnu_cxx::new_allocator::deallocate(OpenMM::Force**, unsigned long) [103] ----------------------------------------------- 0.00 0.00 3/3 std::vector >::push_back(OpenMM::Force* const&) [10] [110] 0.0 0.00 0.00 3 std::vector >::end() [110] 0.00 0.00 3/3 __gnu_cxx::__normal_iterator > >::__normal_iterator(OpenMM::Force** const&) [105] ----------------------------------------------- 0.00 0.00 3/3 std::vector >::_M_insert_aux(__gnu_cxx::__normal_iterator > >, OpenMM::Force* const&) [11] [111] 0.0 0.00 0.00 3 void std::_Destroy(OpenMM::Force**, OpenMM::Force**, std::allocator) [111] 0.00 0.00 4/4 void std::_Destroy(OpenMM::Force**, OpenMM::Force**) [102] ----------------------------------------------- 0.00 0.00 2/2 main [1] [112] 0.0 0.00 0.00 2 OpenMM::Vec3::Vec3() [112] ----------------------------------------------- 0.00 0.00 2/2 main [1] [113] 0.0 0.00 0.00 2 std::allocator::allocator() [113] 0.00 0.00 143/143 __gnu_cxx::new_allocator::new_allocator() [71] ----------------------------------------------- This table describes the call tree of the program, and was sorted by the total amount of time spent in each function and its children. Each entry in this table consists of several lines. The line with the index number at the left hand margin lists the current function. The lines above it list the functions that called this function, and the lines below it list the functions this one called. This line lists: index A unique number given to each element of the table. Index numbers are sorted numerically. The index number is printed next to every function name so it is easier to look up where the function in the table. % time This is the percentage of the `total' time that was spent in this function and its children. Note that due to different viewpoints, functions excluded by options, etc, these numbers will NOT add up to 100%. self This is the total amount of time spent in this function. children This is the total amount of time propagated into this function by its children. called This is the number of times the function was called. If the function called itself recursively, the number only includes non-recursive calls, and is followed by a `+' and the number of recursive calls. name The name of the current function. The index number is printed after it. If the function is a member of a cycle, the cycle number is printed between the function's name and the index number. For the function's parents, the fields have the following meanings: self This is the amount of time that was propagated directly from the function into this parent. children This is the amount of time that was propagated from the function's children into this parent. called This is the number of times this parent called the function `/' the total number of times the function was called. Recursive calls to the function are not included in the number after the `/'. name This is the name of the parent. The parent's index number is printed after it. If the parent is a member of a cycle, the cycle number is printed between the name and the index number. If the parents of the function cannot be determined, the word `' is printed in the `name' field, and all the other fields are blank. For the function's children, the fields have the following meanings: self This is the amount of time that was propagated directly from the child into the function. children This is the amount of time that was propagated from the child's children to the function. called This is the number of times the function called this child `/' the total number of times the child was called. Recursive calls by the child are not listed in the number after the `/'. name This is the name of the child. The child's index number is printed after it. If the child is a member of a cycle, the cycle number is printed between the name and the index number. If there are any cycles (circles) in the call graph, there is an entry for the cycle-as-a-whole. This entry shows who called the cycle (as parents) and the members of the cycle (as children.) The `+' recursive calls entry shows the number of function calls that were internal to the cycle, and the calls entry for each member shows, for that member, how many times it was called from other members of the cycle. Index by function name [28] OpenMM::Vec3::Vec3(double, double, double) [4] std::vector >::size() const [110] std::vector >::end() [112] OpenMM::Vec3::Vec3() [107] std::vector >::max_size() const [10] std::vector >::push_back(OpenMM::Force* const&) [23] OpenMM::Vec3::~Vec3() [29] std::vector >::size() const [15] std::vector >::_M_insert_aux(__gnu_cxx::__normal_iterator > >, double const&) [27] OpenMM::Vec3::operator[](int) [55] std::vector >::max_size() const [60] std::vector >::end() [85] OpenMM::State::~State() [56] std::allocator::allocator(std::allocator const&) [14] std::vector >::push_back(double const&) [13] OpenMM::System::addParticle(double) [113] std::allocator::allocator() [65] std::_Rb_tree, std::allocator >, std::pair, std::allocator > const, double>, std::_Select1st, std::allocator > const, double> >, std::less, std::allocator > >, std::allocator, std::allocator > const, double> > >::_Rb_tree_impl, std::allocator > >, false>::~_Rb_tree_impl() [2] OpenMM::System::addForce(OpenMM::Force*) [73] std::allocator::allocator(std::allocator const&) [66] std::_Rb_tree, std::allocator >, std::pair, std::allocator > const, double>, std::_Select1st, std::allocator > const, double> >, std::less, std::allocator > >, std::allocator, std::allocator > const, double> > >::_M_begin() [69] __gnu_cxx::new_allocator::deallocate(OpenMM::Vec3*, unsigned long) [54] std::allocator::~allocator() [67] std::_Rb_tree, std::allocator >, std::pair, std::allocator > const, double>, std::_Select1st, std::allocator > const, double> >, std::less, std::allocator > >, std::allocator, std::allocator > const, double> > >::_M_erase(std::_Rb_tree_node, std::allocator > const, double> >*) [70] __gnu_cxx::new_allocator::allocate(unsigned long, void const*) [74] std::allocator::~allocator() [68] std::_Rb_tree, std::allocator >, std::pair, std::allocator > const, double>, std::_Select1st, std::allocator > const, double> >, std::less, std::allocator > >, std::allocator, std::allocator > const, double> > >::~_Rb_tree() [52] __gnu_cxx::new_allocator::new_allocator(__gnu_cxx::new_allocator const&) [89] std::allocator::allocator(std::allocator const&) [5] void std::_Construct(OpenMM::Vec3*, OpenMM::Vec3 const&) [71] __gnu_cxx::new_allocator::new_allocator() [90] std::allocator::~allocator() [96] OpenMM::Force** std::__copy_aux(OpenMM::Force**, OpenMM::Force**, OpenMM::Force**) [47] __gnu_cxx::new_allocator::~new_allocator() [64] std::allocator, std::allocator > const, double> > >::~allocator() [41] double* std::__copy_aux(double*, double*, double*) [103] __gnu_cxx::new_allocator::deallocate(OpenMM::Force**, unsigned long) [36] std::allocator::allocator(std::allocator const&) [81] void std::__destroy_aux(OpenMM::Vec3*, OpenMM::Vec3*, std::__false_type) [104] __gnu_cxx::new_allocator::allocate(unsigned long, void const*) [37] std::allocator::~allocator() [101] void std::__destroy_aux(OpenMM::Force**, OpenMM::Force**, std::__true_type) [16] __gnu_cxx::new_allocator::construct(OpenMM::Force**, OpenMM::Force* const&) [75] std::_Vector_base >::_M_allocate(unsigned long) [45] void std::__destroy_aux(double*, double*, std::__true_type) [88] __gnu_cxx::new_allocator::new_allocator(__gnu_cxx::new_allocator const&) [76] std::_Vector_base >::_Vector_impl::_Vector_impl(std::allocator const&) [97] OpenMM::Force** std::uninitialized_copy(OpenMM::Force**, OpenMM::Force**, OpenMM::Force**) [87] __gnu_cxx::new_allocator::~new_allocator() [77] std::_Vector_base >::_Vector_impl::~_Vector_impl() [42] double* std::uninitialized_copy(double*, double*, double*) [62] __gnu_cxx::new_allocator, std::allocator > const, double> > >::~new_allocator() [78] std::_Vector_base >::_M_deallocate(OpenMM::Vec3*, unsigned long) [6] void std::uninitialized_fill_n(OpenMM::Vec3*, unsigned long, OpenMM::Vec3 const&) [63] __gnu_cxx::new_allocator, std::allocator > const, double> >::~new_allocator() [57] std::_Vector_base >::_M_get_Tp_allocator() [98] OpenMM::Force** std::__uninitialized_copy_a(OpenMM::Force**, OpenMM::Force**, OpenMM::Force**, std::allocator) [50] __gnu_cxx::new_allocator::deallocate(double*, unsigned long) [79] std::_Vector_base >::_Vector_base(unsigned long, std::allocator const&) [49] double* std::__uninitialized_copy_a(double*, double*, double*, std::allocator) [51] __gnu_cxx::new_allocator::allocate(unsigned long, void const*) [80] std::_Vector_base >::~_Vector_base() [99] OpenMM::Force** std::__uninitialized_copy_aux(OpenMM::Force**, OpenMM::Force**, OpenMM::Force**, std::__true_type) [12] __gnu_cxx::new_allocator::construct(double*, double const&) [108] std::_Vector_base >::_M_allocate(unsigned long) [43] double* std::__uninitialized_copy_aux(double*, double*, double*, std::__true_type) [33] __gnu_cxx::new_allocator::new_allocator(__gnu_cxx::new_allocator const&) [109] std::_Vector_base >::_M_deallocate(OpenMM::Force**, unsigned long) [7] void std::__uninitialized_fill_n_a(OpenMM::Vec3*, unsigned long, OpenMM::Vec3 const&, std::allocator) [32] __gnu_cxx::new_allocator::~new_allocator() [91] std::_Vector_base >::_M_get_Tp_allocator() [8] void std::__uninitialized_fill_n_aux(OpenMM::Vec3*, unsigned long, OpenMM::Vec3 const&, std::__false_type) [105] __gnu_cxx::__normal_iterator > >::__normal_iterator(OpenMM::Force** const&) [58] std::_Vector_base >::_M_allocate(unsigned long) [100] OpenMM::Force** std::copy(OpenMM::Force**, OpenMM::Force**, OpenMM::Force**) [34] __gnu_cxx::__normal_iterator > >::__normal_iterator(double* const&) [59] std::_Vector_base >::_M_deallocate(double*, unsigned long) [44] double* std::copy(double*, double*, double*) [30] OpenMM::Vec3::dot(OpenMM::Vec3 const&) const [38] std::_Vector_base >::_M_get_Tp_allocator() [24] void std::_Destroy(OpenMM::Vec3*) [25] OpenMM::Vec3::operator[](int) const [94] OpenMM::Force** std::__copy_normal::__copy_n(OpenMM::Force**, OpenMM::Force**, OpenMM::Force**) [82] void std::_Destroy(OpenMM::Vec3*, OpenMM::Vec3*) [31] OpenMM::Vec3::operator-(OpenMM::Vec3 const&) const [39] double* std::__copy_normal::__copy_n(double*, double*, double*) [83] void std::_Destroy(OpenMM::Vec3*, OpenMM::Vec3*, std::allocator) [72] __gnu_cxx::new_allocator::max_size() const [86] std::map, std::allocator >, double, std::less, std::allocator > >, std::allocator, std::allocator > const, double> > >::~map() [102] void std::_Destroy(OpenMM::Force**, OpenMM::Force**) [92] __gnu_cxx::new_allocator::max_size() const [95] OpenMM::Force** std::__copy::copy(OpenMM::Force* const*, OpenMM::Force* const*, OpenMM::Force**) [111] void std::_Destroy(OpenMM::Force**, OpenMM::Force**, std::allocator) [35] __gnu_cxx::new_allocator::max_size() const [40] double* std::__copy::copy(double const*, double const*, double*) [46] void std::_Destroy(double*, double*) [93] __gnu_cxx::__normal_iterator > >::base() const [9] std::vector >::vector(unsigned long, OpenMM::Vec3 const&, std::allocator const&) [61] void std::_Destroy(double*, double*, std::allocator) [48] __gnu_cxx::__normal_iterator > >::base() const [84] std::vector >::~vector() [3] operator new(unsigned long, void*) [106] std::_Vector_base >::_M_get_Tp_allocator() const [26] std::vector >::operator[](unsigned long) [17] data_start [53] std::_Vector_base >::_M_get_Tp_allocator() const [11] std::vector >::_M_insert_aux(__gnu_cxx::__normal_iterator > >, OpenMM::Force* const&)