欢迎来到程序员中文网!

首页 Linux Mysql C++ Python PHP JavaScript 资源下载 动态 开源推荐
我要投稿 投诉建议

C++ 性能分析工具:gprof、Valgrind 与 perf

时间:2026年08月12日 05:42:24 浏览:1

C++ 性能分析工具:gprof、Valgrind 与 perf


性能分析是优化的前提,Linux 下常用工具丰富。


1. gprof(GNU Profiler)



  • 编译时添加 -pg 选项。

  • 运行程序生成 gmon.out,然后 gprof ./program gmon.out > report.txt

  • 输出函数调用次数和耗时。


g++ -pg -o program source.cpp
./program
gprof ./program gmon.out > analysis.txt

2. Valgrind(内存检查与性能)



  • 内存泄漏:valgrind --leak-check=full ./program

  • 性能分析(callgrind):valgrind --tool=callgrind ./program,用 KCachegrind 可视化。


3. perf(Linux 内核性能工具)



  • 采样 CPU 事件:perf record -g ./program

  • 生成报告:perf report

  • 可生成火焰图。


4. 编译器优化选项



  • -O2-O3 开启优化。

  • -march=native 针对当前 CPU 优化。

  • 谨慎使用 -fast,可能破坏标准。


性能分析应结合多种工具,定位热点后针对性优化。