Four Kinds of Optimisation
Published on: 2025-04-22 08:31:52
Premature optimisation might be the root of all evil, but overdue optimisation is the root of all frustration. No matter how fast hardware becomes, we find it easy to write programs which run too slow. Often this is not immediately apparent. Users can go for years without considering a program’s performance to be an issue before it suddenly becomes so — often in the space of a single working day.
I have devoted more of my life to optimisation than I care to think about, and that experience has led me to make two observations:
Human optimism leads us to believe that we can easily know where a program spends most of its time. Human optimism leads us to believe that we can easily know how to make the slow parts of a program run faster.
You will not be surprised to learn that I think both forms of optimism misplaced. Partly this is because, as hardware and software have become more sophisticated, it has become harder to understand their effects on performance. But, perhaps more fundamen
... Read full article.