As we all know, perf
is the tool to get the CPU performance counter for a program, such as cache-miss
, cache-reference
, instruction executed
etc.
Question :
How to get those performance counters for just a piece of code (such as a function) in one program in c
or c++
.
For example, my program firstly do some initializing, then do the work, then finalize, i just want to get the performance counter for the work, such as function do_something_1
.
int main(int argc, char ** argv) {
do_initialize();
for (int i = 0;i < 100 ;i ++) {
/* begin profile code */
do_something_1();
/* end profile code */
do_something_2();
}
do_finalize();
}