To profile C++ application I use GNU profiler.
To compile a source file for profiling, specify the -pg option when you run the compiler.
g++ -pg -o bin/prog src/prog.ccOnce the program is compiled for profiling, you must run it in order to generate the information that gprof needs.
./bin/progAfter you have a profile data file gmon.out, you can run gprof to interpret the information in it.
gprof -b ./bin/progYou will get such result:
Flat profile: Each sample counts as 0.01 seconds. no time accumulated % cumulative self self total time seconds seconds calls Ts/call Ts/call name 0.00 0.00 0.00 1 0.00 0.00 method1() 0.00 0.00 0.00 1 0.00 0.00 method2() 0.00 0.00 0.00 1 0.00 0.00 method3() Call graph granularity: each sample hit covers 4 byte(s) no time propagated index % time self children called name 0.00 0.00 1/1 main [4] [5] 0.0 0.00 0.00 1 method1() [5] 0.00 0.00 1/1 method2() [6] ----------------------------------------------- 0.00 0.00 1/1 method1() [5] [6] 0.0 0.00 0.00 1 method2() [6] 0.00 0.00 1/1 method3() [7] ----------------------------------------------- 0.00 0.00 1/1 method2() [6] [7] 0.0 0.00 0.00 1 method3() [7] ----------------------------------------------- Index by function name [5] method1() [6] method2() [7] method3()To read more about the GNU profiler go here.
No comments:
Post a Comment