Performance Profiling

There are multiple main ways of profiling, each with their scope and usefulness:

  • instrumentation profiling times the program as a whole or by parts and count specific events you are interested in.
  • sampling profiling monitor various hardware events such as branch mispredictions or cache misses
  • Program simulation goes down to individual cycle level and simulate the execution of a snippet of machine code

References