I know that I can get the total percentage of branch mispredictions during the execution of a program with perf stat
. But how can I get the statistics for a specific branch (if
or switch
statement in C code)?
可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试):
问题:
回答1:
You can sample on the branch-misses
event:
sudo perf record -e branch-misses <yourapp>
and then report it (and even selecting the function you're interested in):
sudo perf report -n --symbols=<yourfunction>
There you can access the annotated code and get some statistics for a given branch. Or directly annotate
it with the perf command with --symbol
option.