怎么查找C++程序的hotspot?

来源:百度知道 编辑:UC知道 时间:2024/06/08 16:17:17
我写了一个C++程序,但是速度不是理想,想看看程序运行时哪些环节最消耗时间,这个该怎么弄?

Intel vTune |||

#include<time.h>
#include<iostream>
......
......
long t1 = time(NULL);
Function_01();
long t2 = time(NULL);
Function_02();
long t3 = time(NULL);
......
......
std::cout<< "Function_01 -> " << t2 - t1 <<'\n'<< "Function_02 -> " << t3 - t2 <<'\n';
......
......

像这样
把每个模块运行时间都得到了就容易发现问题了

这个。。。很囧的问题。。这个想办法优化你的代码了,你写的代码肯定清楚哪些地方比较消耗资源,多线程的话如果不做事就SLEEP掉,或者调低优先级也是个办法

怎么查不清楚;
不过一般是循环,特别是嵌套的循环,基本上嵌套3个以上就耗时间了。