OProfile is low-overhead in most common cases; this is dependent on the interrupt load OProfile has to deal with. The below results were obtained with a pre-release version of OProfile 0.7 on a 2.6.0-test7 kernel. The hardware was an HP Netserver LPr with two 400Mhz Pentium IIs. The overhead shown is the real-time overhead for compiling a Linux kernel several times whilst OProfile is collecting data.
The x axis shows the mean average of profiling interrupts received per second. The y axis shows the relative percentage overhead of the real time to complete the task.
For comparison, the default settings of OProfile cause around 2,000 interrupts per CPU to be generated.
Measurement is a crucial component of performance improvement since reasoning and intuition are fallible guides and must be supplemented with tools like timing commands and profilers.- The Practice of Programming, Brian W. Kernighan and Rob Pike