How to measure mispredictions for a single branch on Linux?

余生长醉 提交于 2019-12-05 00:29:12

问题


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.



来源:https://stackoverflow.com/questions/33523301/how-to-measure-mispredictions-for-a-single-branch-on-linux

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!