我真的很想知道我的应用程序中不同的例程需要多少时间。我正在使用 GCC 3.4.2 和 Dev-C++ IDE 和 gprof 进行分析。这是结果文件的开头:
扁平型材:
Each sample counts as 0.01 seconds.
% cumulative self self total
time seconds seconds calls s/call s/call name
7.48 0.89 0.89 __gnu_cxx::__exchange_and_add(int volatile*, int)
7.39 1.77 0.88 _Unwind_SjLj_Register
6.22 2.51 0.74 _Unwind_SjLj_Unregister
3.70 2.95 0.44 2425048 0.00 0.00 rt::wctree_node<std::vector<OPT_Inst, std::allocator<OPT_Inst> > >::get(std::string, bool&)
3.28 3.34 0.39 std::string::operator[](unsigned int)
3.11 3.71 0.37 std::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string()
2.86 4.05 0.34 std::string::_M_mutate(unsigned int, unsigned int, unsigned int)
2.69 4.37 0.32 __gnu_cxx::__atomic_add(int volatile*, int)
2.61 4.68 0.31 38655 0.00 0.00 SPSBase::containerBoxFillSet(double, double, double, double)
有人可以向我解释除 rt::wctree 之外的第一个(显然不是我制作的),它们来自哪里以及他们在程序中的目标是什么?