在Ubuntu上利用GCC进行代码性能分析,常用工具及方法如下:
gprof
-pg选项生成分析数据,如gcc -pg -o program program.c。gmon.out文件。gprof program gmon.out > analysis.txt生成报告,查看函数调用次数及耗时。perf
sudo apt install linux-tools-common linux-tools-$(uname -r)。sudo perf record -g ./program。sudo perf report,可查看CPU使用、缓存命中率等详细信息。Valgrind(侧重内存分析)
sudo apt install valgrind。valgrind --tool=memcheck ./program。valgrind --tool=callgrind ./program,配合kcachegrind可视化函数调用耗时。说明:
gprof适合分析函数级性能,轻量级但信息较基础。perf可深入硬件级性能数据,适合复杂场景。Valgrind侧重内存问题,对性能分析有一定辅助作用。