perf 是一个性能分析工具,通常用于 Linux 系统上。它可以帮助开发人员和系统管理员收集和分析程序的性能数据,以便找出性能瓶颈和优化应用程序。
perf stat
用于执行基本的性能统计,包括指令数、周期数、缓存命中率等。
perf 允许你选择特定的性能事件进行计数。使用 -e 选项指定要计数的事件,可以通过 perf list 命令查看可用的事件列表。
perf stat -e instructions,cycles ./myprogram
perf record
用于记录性能事件的采样数据
火焰图 (Flame Graphs)
使用 perf 结合FlameGraph,可以生成火焰图,用于可视化性能数据,帮助找出函数调用栈中的性能瓶颈。
perf record -g ./myprogram
perf script | stackcollapse-perf.pl | flamegraph.pl > myprogram.svg
火焰图用浏览器打开后,是可以点击的动态图