我正在分析一个最近以文件读取为主的程序。我对如何解释结果感到困惑。如果有人能向我解释这四个最重要的功能是什么,那将对我有很大帮助。提前致谢!
% cumulative self self total
time seconds seconds calls ms/call ms/call name
25.00 0.95 0.95 _Unwind_SjLj_Register
15.79 1.55 0.60 std::num_get<char, std::istreambuf_iterator<char, std::char_traits<char> > >::_M_extract_float(std::istreambuf_iterator<char, std::char_traits<char> >, std::istreambuf_iterator<char, std::char_traits<char> >, std::ios_base&, std::_Ios_Iostate&, std::string&) const
10.26 1.94 0.39 std::string::_M_mutate(unsigned int, unsigned int, unsigned int)
10.00 2.32 0.38 _Unwind_SjLj_Unregister
最佳答案
第一个和最后一个用于异常处理;它们由编译器生成,用于注册对象,如果异常离开当前范围,则必须调用其析构函数。如果您可以重构代码以避免在具有非平凡析构函数的对象的生命周期内抛出异常或调用可能抛出的函数,则您可能能够避免调用这些函数。不过,这通常是不可能的。
第二个是用于解析输入流中的 float
值的内部函数。
第三个是调整字符串大小的内部函数,可能是在解析流时内部使用的。
关于c++ - 帮助解释探查器结果 [STL],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3452019/