所以,我有一些代码,我正在努力加快速度。关于该计划的一些相关说明:
1)我已经注释掉了所有的I / O
2)为了这些目的,我已经关闭了多线程export OMP_NUM_THREADS=1
3)没有递归
现在,我运行代码并且gprof告诉我,它花费了87%的时间在getGamma
% cumulative self self total
time seconds seconds calls us/call us/call name
87.49 20.69 20.69 3125353 6.62 6.62 Alkali::getGamma(double, double)
(这是个人资料的第一行,所以我想我正在正确地阅读此内容。gprof2dot
生成并用getGamma
生成鲜红色的图像,所以我'我可能是对的。)
问题是getGamma
基本上是一个存根:
double Alkali::getGamma(double tau, double laser_power) {
double gamma = (1.0 / tau);
return gamma;
}
当我在grep
上getGamma
时,我只能在设置例程中获得定义和一个调用。是的,添加一个print语句确认这个简单的函数只被调用一次。
那么什么是愚弄gprof
?在其他编译器标志中,我正在使用-O3
。如果您需要更多信息并提前致谢,请告诉我。