Measuring and Optimizing Performance
In software engineering circles, it’s common to hear the expression “premature optimization is the root of all evil.” This is usually bestowed very knowingly from a more Senior developer to a more Junior one. Stroking of the chin – whether a beard is present or not – is almost always required to attain the Solemn Air of Pronouncement accompanying such declarations. Strange delivery or not, it is good advice to follow.
There aren’t many worse ways to approach software design than by starting to make performance-related changes while that software is still largely being built. That, in turn, is because the optimization of a code base is inversely related to the code’s readability, its maintainability, and ultimately the facility to which new features and changes can be introduced. To put it another way, the more optimized a code base tends to be, the harder it is for someone to understand the code...