我做了一个泛化算法实现。
现在,新实现的运行速度比旧实现慢100多倍。
我的猜测是,不必要地使用低效率的源是我以某种方式介绍的隐式复制构造函数。我试图分析代码,但是我得到了很多我不理解的数据。我真的需要知道STL内部能够分析基于STL的代码吗?
平面轮廓的片段:
Flat profile:
Each sample counts as 0.01 seconds.
% cumulative self self total
time seconds seconds calls s/call s/call name
5.22 0.52 0.52 9092637 0.00 0.00 std::_List_base<unsigned int, std::allocator<unsigned int> >::_M_clear()
4.11 0.93 0.41 25264275 0.00 0.00 std::_List_node<unsigned int>* std::list<unsigned int, std::allocator<unsigned int> >::_M_create_node<unsigned int const&>(unsigned int const&)
3.66 1.29 0.36 9084123 0.00 0.00 void std::list<unsigned int, std::allocator<unsigned int> >::_M_initialize_dispatch<std::_List_const_iterator<unsigned int> >(std::_List_const_iterator<unsigned int>, std::_List_const_iterator<unsigned int>, std::__false_type)
3.11 1.60 0.31 25264275 0.00 0.00 std::_List_node<unsigned int>::_List_node<unsigned int const&>(unsigned int const&)
2.61 1.86 0.26 101061221 0.00 0.00 unsigned int const& std::forward<unsigned int const&>(std::remove_reference<unsigned int const&>::type&)
2.56 2.12 0.26 25264275 0.00 0.00 std::list<unsigned int, std::allocator<unsigned int> >::push_back(unsigned int const&)
2.51 2.37 0.25 25264275 0.00 0.00 void std::list<unsigned int, std::allocator<unsigned int> >::_M_insert<unsigned int const&>(std::_List_iterator<unsigned int>, unsigned int const&)
2.41 2.61 0.24 9080201 0.00 0.00 std::vector<short, std::allocator<short> >::vector(std::vector<short, std::allocator<short> > const&)
2.21 2.83 0.22 9082855 0.00 0.00 std::list<unsigned int, std::allocator<unsigned int> >::list(std::list<unsigned int, std::allocator<unsigned int> > const&)
2.16 3.04 0.21 25264275 0.00 0.00 void __gnu_cxx::new_allocator<std::_List_node<unsigned int> >::construct<unsigned int const&>(std::_List_node<unsigned int>*, unsigned int const&)
2.01 3.25 0.20 25270362 0.00 0.00 __gnu_cxx::new_allocator<std::_List_node<unsigned int> >::allocate(unsigned int, void const*)
1.76 3.42 0.17 9091186 0.00 0.00 std::vector<short, std::allocator<short> >::size() const
1.71 3.59 0.17 50552766 0.00 0.00 std::_List_base<unsigned int, std::allocator<unsigned int> >::_M_get_Node_allocator()
1.71 3.76 0.17 25270362 0.00 0.00 std::_List_base<unsigned int, std::allocator<unsigned int> >::_M_put_node(std::_List_node<unsigned int>*)
1.65 3.92 0.17 9084123 0.00 0.00 std::_List_base<unsigned int, std::allocator<unsigned int> >::_List_base(std::allocator<unsigned int> const&)
1.55 4.08 0.15 9055760 0.00 0.00 bool __gnu_cxx::operator!=<std::vector<short, std::allocator<short> > const*, std::vector<std::vector<short, std::allocator<short> >, std::allocator<std::vector<short, std::allocator<short> > > > >(__gnu_cxx::__normal_iterator<std::vector<short, std::allocator<short> > const*, std::vector<std::vector<short, std::allocator<short> >, std::allocator<std::vector<short, std::allocator<short> > > > > const&, __gnu_cxx::__normal_iterator<std::vector<short, std::allocator<short> > const*, std::vector<std::vector<short, std::allocator<short> >, std::allocator<std::vector<short, std::allocator<short> > > > > const&)
1.50 4.23 0.15 25249466 0.00 0.00 std::_List_const_iterator<unsigned int>::operator++()
1.45 4.38 0.14 9084596 0.00 0.00 std::_Vector_base<short, std::allocator<short> >::~_Vector_base()
1.45 4.52 0.14 9051640 0.00 0.00 void std::_Construct<std::list<unsigned int, std::allocator<unsigned int> >, std::list<unsigned int, std::allocator<unsigned int> > const&>(std::list<unsigned int, std::allocator<unsigned int> >*, std::list<unsigned int, std::allocator<unsigned int> > const&)
1.40 4.66 0.14 4120 0.00 0.00 std::list<unsigned int, std::allocator<unsigned int> >* std::__uninitialized_copy<false>::__uninit_copy<__gnu_cxx::__normal_iterator<std::list<unsigned int, std::allocator<unsigned int> > const*, std::vector<std::list<unsigned int, std::allocator<unsigned int> >, std::allocator<std::list<unsigned int, std::allocator<unsigned int> > > > >, std::list<unsigned int, std::allocator<unsigned int> >*>(__gnu_cxx::__normal_iterator<std::list<unsigned int, std::allocator<unsigned int> > const*, std::vector<std::list<unsigned int, std::allocator<unsigned int> >, std::allocator<std::list<unsigned int, std::allocator<unsigned int> > > > >, __gnu_cxx::__normal_iterator<std::list<unsigned int, std::allocator<unsigned int> > const*, std::vector<std::list<unsigned int, std::allocator<unsigned int> >, std::allocator<std::list<unsigned int, std::allocator<unsigned int> > > > >, std::list<unsigned int, std::allocator<unsigned int> >*)
1.40 4.80 0.14 4120 0.00 0.00 std::vector<short, std::allocator<short> >* std::__uninitialized_copy<false>::__uninit_copy<__gnu_cxx::__normal_iterator<std::vector<short, std::allocator<short> > const*, std::vector<std::vector<short, std::allocator<short> >, std::allocator<std::vector<short, std::allocator<short> > > > >, std::vector<short, std::allocator<short> >*>(__gnu_cxx::__normal_iterator<std::vector<short, std::allocator<short> > const*, std::vector<std::vector<short, std::allocator<short> >, std::allocator<std::vector<short, std::allocator<short> > > > >, __gnu_cxx::__normal_iterator<std::vector<short, std::allocator<short> > const*, std::vector<std::vector<short, std::allocator<short> >, std::allocator<std::vector<short, std::allocator<short> > > > >, std::vector<short, std::allocator<short> >*)
1.30 4.93 0.13 9080202 0.00 0.00 std::_Vector_base<short, std::allocator<short> >::_Vector_impl::_Vector_impl(std::allocator<short> const&)
1.25 5.05 0.12 9051640 0.00 0.00 void std::_Construct<std::vector<short, std::allocator<short> >, std::vector<short, std::allocator<short> > const&>(std::vector<short, std::allocator<short> >*, std::vector<short, std::allocator<short> > const&)
1.20 5.17 0.12 9092637 0.00 0.00 std::list<unsigned int, std::allocator<unsigned int> >::~list()
1.20 5.29 0.12 4123 0.00 0.00 void std::_Destroy_aux<false>::__destroy<std::vector<short, std::allocator<short> >*>(std::vector<short, std::allocator<short> >*, std::vector<short, std::allocator<short> >*)
1.15 5.41 0.12 34333589 0.00 0.00 std::_List_const_iterator<unsigned int>::operator!=(std::_List_const_iterator<unsigned int> const&) const
1.10 5.52 0.11 9084596 0.00 0.00 std::vector<short, std::allocator<short> >::~vector()
1.10 5.63 0.11 9082398 0.00 0.00 short* std::copy<__gnu_cxx::__normal_iterator<short const*, std::vector<short, std::allocator<short> > >, short*>(__gnu_cxx::__normal_iterator<short const*, std::vector<short, std::allocator<short> > >, __gnu_cxx::__normal_iterator<short const*, std::vector<short, std::allocator<short> > >, short*)
1.05 5.74 0.10 9084123 0.00 0.00 std::_List_base<unsigned int, std::allocator<unsigned int> >::_List_impl::_List_impl(std::allocator<std::_List_node<unsigned int> > const&)
1.00 5.83 0.10 25532990 0.00 0.00 std::_List_iterator<unsigned int>::_List_iterator(std::__detail::_List_node_base*)
1.00 5.93 0.10 18164796 0.00 0.00 std::_Iter_base<__gnu_cxx::__normal_iterator<short const*, std::vector<short, std::allocator<short> > >, false>::_S_base(__gnu_cxx::__normal_iterator<short const*, std::vector<short, std::allocator<short> > >)
1.00 6.04 0.10 9092637 0.00 0.00 std::_List_base<unsigned int, std::allocator<unsigned int> >::~_List_base()
1.00 6.13 0.10 9080202 0.00 0.00 std::_Vector_base<short, std::allocator<short> >::_Vector_base(unsigned int, std::allocator<short> const&)
0.95 6.23 0.10 9082398 0.00 0.00 short* std::__uninitialized_copy<true>::__uninit_copy<__gnu_cxx::__normal_iterator<short const*, std::vector<short, std::allocator<short> > >, short*>(__gnu_cxx::__normal_iterator<short const*, std::vector<short, std::allocator<short> > >, __gnu_cxx::__normal_iterator<short const*, std::vector<short, std::allocator<short> > >, short*)
0.95 6.33 0.10 9082398 0.00 0.00 short* std::__copy_move_a2<false, __gnu_cxx::__normal_iterator<short const*, std::vector<short, std::allocator<short> > >, short*>(__gnu_cxx::__normal_iterator<short const*, std::vector<short, std::allocator<short> > >, __gnu_cxx::__normal_iterator<short const*, std::vector<short, std::allocator<short> > >, short*)
0.90 6.42 0.09 9107748 0.00 0.00 std::vector<short, std::allocator<short> >::begin() const
0.90 6.50 0.09 9086793 0.00 0.00 void std::_Destroy<short*>(short*, short*)
0.90 6.59 0.09 9085052 0.00 0.00 std::list<unsigned int, std::allocator<unsigned int> >::begin() const
0.90 6.68 0.09 4123 0.00 0.00 void std::_Destroy_aux<false>::__destroy<std::list<unsigned int, std::allocator<unsigned int> >*>(std::list<unsigned int, std::allocator<unsigned int> >*, std::list<unsigned int, std::allocator<unsigned int> >*)
0.85 6.77 0.09 18164796 0.00 0.00 std::_Miter_base<__gnu_cxx::__normal_iterator<short const*, std::vector<short, std::allocator<short> > > >::iterator_type std::__miter_base<__gnu_cxx::__normal_iterator<short const*, std::vector<short, std::allocator<short> > > >(__gnu_cxx::__normal_iterator<short const*, std::vector<short, std::allocator<short> > >)
0.85 6.86 0.09 9084123 0.00 0.00 std::allocator<std::_List_node<unsigned int> >::allocator<unsigned int>(std::allocator<unsigned int> const&)
0.85 6.94 0.09 9055760 0.00 0.00 bool __gnu_cxx::operator!=<std::list<unsigned int, std::allocator<unsigned int> > const*, std::vector<std::list<unsigned int, std::allocator<unsigned int> >, std::allocator<std::list<unsigned int, std::allocator<unsigned int> > > > >(__gnu_cxx::__normal_iterator<std::list<unsigned int, std::allocator<unsigned int> > const*, std::vector<std::list<unsigned int, std::allocator<unsigned int> >, std::allocator<std::list<unsigned int, std::allocator<unsigned int> > > > > const&, __gnu_cxx::__normal_iterator<std::list<unsigned int, std::allocator<unsigned int> > const*, std::vector<std::list<unsigned int, std::allocator<unsigned int> >, std::allocator<std::list<unsigned int, std::allocator<unsigned int> > > > > const&)
0.80 7.02 0.08 18280452 0.00 0.00 __gnu_cxx::__normal_iterator<short const*, std::vector<short, std::allocator<short> > >::__normal_iterator(short const* const&)
0.80 7.10 0.08 18164796 0.00 0.00 std::_Iter_base<__gnu_cxx::__normal_iterator<short const*, std::vector<short, std::allocator<short> > >, true>::_S_base(__gnu_cxx::__normal_iterator<short const*, std::vector<short, std::allocator<short> > >)
0.80 7.18 0.08 9092637 0.00 0.00 std::_List_base<unsigned int, std::allocator<unsigned int> >::_M_init()
0.80 7.26 0.08 9082398 0.00 0.00 short* std::__copy_move<false, true, std::random_access_iterator_tag>::__copy_m<short>(short const*, short const*, short*)
0.75 7.33 0.07 43405668 0.00 0.00 operator new(unsigned int, void*)
0.75 7.41 0.07 9085052 0.00 0.00 std::list<unsigned int, std::allocator<unsigned int> >::end() const
0.75 7.49 0.07 9082398 0.00 0.00 short* std::__uninitialized_copy_a<__gnu_cxx::__normal_iterator<short const*, std::vector<short, std::allocator<short> > >, short*, short>(__gnu_cxx::__normal_iterator<short const*, std::vector<short, std::allocator<short> > >, __gnu_cxx::__normal_iterator<short const*, std::vector<short, std::allocator<short> > >, short*, std::allocator<short>&)
0.75 7.56 0.07 9053837 0.00 0.00 void std::_Destroy<std::list<unsigned int, std::allocator<unsigned int> > >(std::list<unsigned int, std::allocator<unsigned int> >*)
0.70 7.63 0.07 25470908 0.00 0.00 std::list<unsigned int, std::allocator<unsigned int> >::end()
0.70 7.70 0.07 25270362 0.00 0.00 std::_List_base<unsigned int, std::allocator<unsigned int> >::_M_get_node()
0.70 7.77 0.07 25249466 0.00 0.00 std::_List_const_iterator<unsigned int>::operator*() const
0.70 7.84 0.07 9134142 0.00 0.00 std::vector<short, std::allocator<short> >::end() const
0.70 7.91 0.07 9086793 0.00 0.00 void std::_Destroy<short*, short>(short*, short*, std::allocator<short>&)
0.70 7.98 0.07 9080202 0.00 0.00 std::allocator<short>::allocator(std::allocator<short> const&)
0.65 8.04 0.07 18170104 0.00 0.00 std::_List_const_iterator<unsigned int>::_List_const_iterator(std::__detail::_List_node_base const*)
0.65 8.11 0.07 18164796 0.00 0.00 std::_Niter_base<__gnu_cxx::__normal_iterator<short const*, std::vector<short, std::allocator<short> > > >::iterator_type std::__niter_base<__gnu_cxx::__normal_iterator<short const*, std::vector<short, std::allocator<short> > > >(__gnu_cxx::__normal_iterator<short const*, std::vector<short, std::allocator<short> > >)
0.65 8.18 0.07 18107674 0.00 0.00 std::list<unsigned int, std::allocator<unsigned int> >* std::__addressof<std::list<unsigned int, std::allocator<unsigned int> > >(std::list<unsigned int, std::allocator<unsigned int> >&)
0.65 8.24 0.07 9051640 0.00 0.00 __gnu_cxx::__normal_iterator<std::list<unsigned int, std::allocator<unsigned int> > const*, std::vector<std::list<unsigned int, std::allocator<unsigned int> >, std::allocator<std::list<unsigned int, std::allocator<unsigned int> > > > >::operator++()
0.60 8.30 0.06 25270362 0.00 0.00 __gnu_cxx::new_allocator<std::_List_node<unsigned int> >::deallocate(std::_List_node<unsigned int>*, unsigned int)
0.60 8.36 0.06 25270362 0.00 0.00 __gnu_cxx::new_allocator<std::_List_node<unsigned int> >::destroy(std::_List_node<unsigned int>*)
0.60 8.42 0.06 18176760 0.00 0.00 __gnu_cxx::new_allocator<std::_List_node<unsigned int> >::~new_allocator()
0.60 8.48 0.06 18111520 0.00 0.00 __gnu_cxx::__normal_iterator<std::vector<short, std::allocator<short> > const*, std::vector<std::vector<short, std::allocator<short> >, std::allocator<std::vector<short, std::allocator<short> > > > >::base() const
0.60 8.54 0.06 9084596 0.00 0.00 std::_Vector_base<short, std::allocator<short> >::_Vector_impl::~_Vector_impl()
0.60 8.60 0.06 9084596 0.00 0.00 std::_Niter_base<short*>::iterator_type std::__niter_base<short*>(short*)
0.50 8.65 0.05 25270362 0.00 0.00 std::_List_node<unsigned int>::~_List_node()
0.50 8.70 0.05 18268284 0.00 0.00 __gnu_cxx::__normal_iterator<short const*, std::vector<short, std::allocator<short> > >::base() const
0.45 8.74 0.04 9053837 0.00 0.00 void std::_Destroy<std::vector<short, std::allocator<short> > >(std::vector<short, std::allocator<short> >*)
0.45 8.79 0.04 24348 0.00 0.00 unsigned int&& std::forward<unsigned int>(std::remove_reference<unsigned int>::type&)
0.40 8.83 0.04 18176760 0.00 0.00 std::allocator<std::_List_node<unsigned int> >::~allocator()
0.40 8.87 0.04 18107674 0.00 0.00 std::vector<short, std::allocator<short> >* std::__addressof<std::vector<short, std::allocator<short> > >(std::vector<short, std::allocator<short> >&)
0.40 8.91 0.04 9086793 0.00 0.00 void std::_Destroy_aux<true>::__destroy<short*>(short*, short*)
0.40 8.95 0.04 9084596 0.00 0.00 std::_Vector_base<short, std::allocator<short> >::_M_allocate(unsigned int)
0.40 8.99 0.04 9082398 0.00 0.00 short* std::__copy_move_a<false, short const*, short*>(short const*, short const*, short*)
0.40 9.03 0.04 9082398 0.00 0.00 short* std::uninitialized_copy<__gnu_cxx::__normal_iterator<short const*, std::vector<short, std::allocator<short> > >, short*>(__gnu_cxx::__normal_iterator<short const*, std::vector<short, std::allocator<short> > >, __gnu_cxx::__normal_iterator<short const*, std::vector<short, std::allocator<short> > >, short*)
0.40 9.07 0.04 9051640 0.00 0.00 __gnu_cxx::__normal_iterator<std::list<unsigned int, std::allocator<unsigned int> > const*, std::vector<std::list<unsigned int, std::allocator<unsigned int> >, std::allocator<std::list<unsigned int, std::allocator<unsigned int> > > > >::operator*() const
0.35 9.11 0.04 18171389 0.00 0.00 std::_Vector_base<short, std::allocator<short> >::_M_get_Tp_allocator()
0.35 9.14 0.04 9084123 0.00 0.00 std::allocator<std::_List_node<unsigned int> >::allocator(std::allocator<std::_List_node<unsigned int> > const&)
0.35 9.18 0.04 9051640 0.00 0.00 __gnu_cxx::__normal_iterator<std::vector<short, std::allocator<short> > const*, std::vector<std::vector<short, std::allocator<short> >, std::allocator<std::vector<short, std::allocator<short> > > > >::operator++()
0.35 9.21 0.04 9051640 0.00 0.00 std::vector<short, std::allocator<short> > const& std::forward<std::vector<short, std::allocator<short> > const&>(std::remove_reference<std::vector<short, std::allocator<short> > const&>::type&)
0.35 9.24 0.04 1 0.04 0.04 redelemeier_with_pruning::full_convex_counter_3d(int, int, unsigned long long, unsigned long long, std::vector<unsigned long long, std::allocator<unsigned long long> >*, std::basic_ofstream<char, std::char_traits<char> >*)
0.30 9.28 0.03 9088244 0.00 0.00 std::allocator<unsigned int>::~allocator()
0.30 9.30 0.03 9086793 0.00 0.00 std::_Vector_base<short, std::allocator<short> >::_M_deallocate(short*, unsigned int)
0.25 9.33 0.03 25270362 0.00 0.00 __gnu_cxx::new_allocator<std::_List_node<unsigned int> >::max_size() const
0.25 9.36 0.03 9084596 0.00 0.00 __gnu_cxx::new_allocator<short>::allocate(unsigned int, void const*)
0.25 9.38 0.03 9084123 0.00 0.00 std::allocator<unsigned int>::allocator<std::_List_node<unsigned int> >(std::allocator<std::_List_node<unsigned int> > const&)
0.25 9.40 0.03 9082855 0.00 0.00 std::_List_base<unsigned int, std::allocator<unsigned int> >::_M_get_Node_allocator() const
0.20 9.43 0.02 18111520 0.00 0.00 __gnu_cxx::__normal_iterator<std::list<unsigned int, std::allocator<unsigned int> > const*, std::vector<std::list<unsigned int, std::allocator<unsigned int> >, std::allocator<std::list<unsigned int, std::allocator<unsigned int> > > > >::base() const
0.20 9.45 0.02 9092637 0.00 0.00 __gnu_cxx::new_allocator<std::_List_node<unsigned int> >::new_allocator()
0.20 9.46 0.02 9092637 0.00 0.00 std::_List_base<unsigned int, std::allocator<unsigned int> >::_List_impl::~_List_impl()
0.20 9.48 0.02 9088244 0.00 0.00 __gnu_cxx::new_allocator<unsigned int>::~new_allocator()
0.20 9.51 0.02 9084596 0.00 0.00 __gnu_cxx::new_allocator<short>::deallocate(short*, unsigned int)
0.20 9.53 0.02 9080201 0.00 0.00 std::_Vector_base<short, std::allocator<short> >::_M_get_Tp_allocator() const
0.20 9.54 0.02 9051640 0.00 0.00 __gnu_cxx::__normal_iterator<std::vector<short, std::allocator<short> > const*, std::vector<std::vector<short, std::allocator<short> >, std::allocator<std::vector<short, std::allocator<short> > > > >::operator*() const
0.20 9.56 0.02 495658 0.00 0.00 __gnu_cxx::__normal_iterator<unsigned int*, std::vector<unsigned int, std::allocator<unsigned int> > >::__normal_iterator(unsigned int* const&)
0.20 9.59 0.02 34461 0.00 0.00 std::list<unsigned int, std::allocator<unsigned int> >::begin()
0.20 9.61 0.02 18637 0.00 0.00 std::_List_iterator<unsigned int>::operator==(std::_List_iterator<unsigned int> const&) const
0.20 9.62 0.02 6087 0.00 0.00 std::_List_node<unsigned int>* std::list<unsigned int, std::allocator<unsigned int> >::_M_create_node<unsigned int>(unsigned int&&)
0.20 9.64 0.02 6087 0.00 0.00 std::remove_reference<unsigned int&>::type&& std::move<unsigned int&>(unsigned int&)
0.15 9.66 0.01 9084597 0.00 0.00 __gnu_cxx::new_allocator<short>::~new_allocator()
0.15 9.68 0.01 9084123 0.00 0.00 __gnu_cxx::new_allocator<std::_List_node<unsigned int> >::new_allocator(__gnu_cxx::new_allocator<std::_List_node<unsigned int> > const&)
0.15 9.69 0.01 31742 0.00 0.00 std::vector<unsigned int, std::allocator<unsigned int> >::begin()
0.15 9.71 0.01 6087 0.00 0.00 void std::list<unsigned int, std::allocator<unsigned int> >::_M_insert<unsigned int>(std::_List_iterator<unsigned int>, unsigned int&&)
0.15 9.72 0.01 4395 0.00 0.00 __gnu_cxx::new_allocator<short>::new_allocator()
0.15 9.73 0.01 2 0.01 0.01 __gnu_cxx::new_allocator<std::vector<short, std::allocator<short> > >::new_allocator()
0.15 9.75 0.01 __gnu_cxx::__normal_iterator<short*, std::vector<short, std::allocator<short> > >::base() const
0.15 9.77 0.01 std::_Niter_base<__gnu_cxx::__normal_iterator<short*, std::vector<short, std::allocator<short> > > >::iterator_type std::__niter_base<__gnu_cxx::__normal_iterator<short*, std::vector<short, std::allocator<short> > > >(__gnu_cxx::__normal_iterator<short*, std::vector<short, std::allocator<short> > >)
0.10 9.78 0.01 9084596 0.00 0.00 __gnu_cxx::new_allocator<short>::max_size() const
0.10 9.79 0.01 9084596 0.00 0.00 std::_Iter_base<short*, false>::_S_base(short*)
0.10 9.79 0.01 9084124 0.00 0.00 __gnu_cxx::new_allocator<unsigned int>::new_allocator()
0.10 9.80 0.01 216086 0.00 0.00 bool __gnu_cxx::operator!=<unsigned int*, std::vector<unsigned int, std::allocator<unsigned int> > >(__gnu_cxx::__normal_iterator<unsigned int*, std::vector<unsigned int, std::allocator<unsigned int> > > const&, __gnu_cxx::__normal_iterator<unsigned int*, std::vector<unsigned int, std::allocator<unsigned int> > > const&)
0.10 9.81 0.01 206056 0.00 0.00 std::_Bit_const_iterator::operator*() const
0.10 9.82 0.01 173040 0.00 0.00 std::_Bit_iterator_base::_M_bump_up()
0.10 9.84 0.01 8243 0.00 0.00 __gnu_cxx::new_allocator<unsigned long>::~new_allocator()
0.10 9.85 0.01 8242 0.00 0.00 unsigned int* std::__uninitialized_move_a<unsigned int*, unsigned int*, std::allocator<unsigned int> >(unsigned int*, unsigned int*, unsigned int*, std::allocator<unsigned int>&)
0.10 9.86 0.01 8242 0.00 0.00 void std::_Destroy<unsigned int*, unsigned int>(unsigned int*, unsigned int*, std::allocator<unsigned int>&)
0.10 9.87 0.01 8240 0.00 0.00 std::_Miter_base<unsigned long*>::iterator_type std::__miter_base<unsigned long*>(unsigned long*)
0.10 9.88 0.01 4121 0.00 0.00 std::vector<unsigned int, std::allocator<unsigned int> >::_M_check_len(unsigned int, char const*) const
0.05 9.88 0.01 9084597 0.00 0.00 std::allocator<short>::~allocator()
0.05 9.88 0.01 9080202 0.00 0.00 __gnu_cxx::new_allocator<short>::new_allocator(__gnu_cxx::new_allocator<short> const&)
0.05 9.89 0.01 9051640 0.00 0.00 std::list<unsigned int, std::allocator<unsigned int> > const& std::forward<std::list<unsigned int, std::allocator<unsigned int> > const&>(std::remove_reference<std::list<unsigned int, std::allocator<unsigned int> > const&>::type&)
0.05 9.89 0.01 186330 0.00 0.00 std::vector<unsigned int, std::allocator<unsigned int> >::size() const