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)?
How to measure mispredictions for a single branch on Linux?
Asked Answered
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.
© 2022 - 2024 — McMap. All rights reserved.
branches
andbranch-misses
events:sudo perf record -e branches,branch-misses
. With--symbol
there will be total counts for the function; in annotated code there will be percents of total counts for current function. – Iaria