It has happened to all of us: you subject your program to real world data and discover that performance is sub-optimal, ranging from “could be faster” to “locks up instantly and CPU fans reach Mach 3.” Finding out what the performance problem is can be a difficult task. Many times we think we know where the problem is, but we turn out to be wrong. Luckily, there are a number of tools available to give definite metrics of where the program spends its time and what kind of pressure it puts on the OS in general.
The End of Free Performance
Over the last several decades, computer performance has been doubling about every 18 months, a figure attributable to Moore’s Law, which states that “The number of transistors in microchips ...