A performance analysis tool that measures … A performance analysis tool that measures the behavior of a program as it executes, particularly the frequency and duration of function calls. The profiling process helps to determine which subroutines (or just snippets of code) take longest to execute and which subroutines are called most often. Code profilers are used when you suspect that some part of your code is called very often and maybe there is a need to optimize it, which could significantly improve the overall performance. Profilers use a wide variety of techniques to collect data, including hardware interrupts, code instrumentation, instruction set simulation, operating system hooks, and performance counters. ng system hooks, and performance counters.