我正在尝试使用 gprof 分析一些使用 g++ 编译的 c++ 代码,包括选项 -pg。然而,尽管程序在我的计算机上运行需要 10-15 分钟(CPU 已用尽),但 gprof 生成的表的 % 时间、累积秒数和自身秒数列完全是 0.00 秒!调用列包含正确的数据,例如对基本函数的超过 150,000 次调用。以下是收集的数据示例:
% cumulative self self total
time seconds seconds calls Ts/call Ts/call name
0.00 0.00 0.00 156012 0.00 0.00 perm::operator[](int) const
0.00 0.00 0.00 153476 0.00 0.00 perm::perm(void)
该程序不使用字符串,唯一的#include是iostream(仅用于输出最终答案),因此它不会因为字符串查找和比较或其他类似的慢速外部函数而变慢,如此问题中所建议的:无法使用 gprof 积累时间 - gnu 分析器
程序本身退出正常,我没有理由相信配置文件数据没有被正确写入(正如这里所建议的那样:gprof 报告没有累积时间)
由于这一切都在 Windows 7 中完成,因此不能尝试使用 Shark 或 Valgrind。
是否有理由记录每个函数花费 0.00 秒?