我想描述我的代码,但我想要一个不计算的函数。
我编译为:
g++ main_no_time.cpp -Wall -std=c++0x -p -pg -O3 -o eg
然后我跑:
./eg Datasets/Klein_nb_P1000_dim10000.txt 16 5 3 1
gprof -Q ./eg > Klein_nb_P1000_dim10000_cpu_rot1.txt
我要排除的功能有这个签名。
void readDivisionSpace(Division_Euclidean_space& ds, char* filename);
我怎样才能做到这一点?
答案 0 :(得分:1)
对于平面配置文件中的排除功能,您需要使用-P
选项:
gprof eg gmon.out -P_Z17readDivisionSpaceRiPc > Klein_nb_P1000_dim10000_cpu_rot1.txt
对于调用图中的排除函数,您需要使用-Q
选项:
gprof eg gmon.out -Q_Z17readDivisionSpaceRiPc > Klein_nb_P1000_dim10000_cpu_rot1.txt
此选项可以在同一时间使用:
gprof eg gmon.out -P_Z17readDivisionSpaceRiPc -Q_Z17readDivisionSpaceRiPc > Klein_nb_P1000_dim10000_cpu_rot1.txt
注意:_Z17readDivisionSpaceRiPc
是功能错误的名称。对于检测功能选项--no-demangle
的错位名称可能很有用。您可以尝试通过以下方式检测函数readDivisionSpace
的错位名称:
gprof eg gmon.out --no-demangle -Q -b | grep readDivisionSpace