Steve,
Thanks for adding this to the thread, it's been too long since I read that book, and McConnell is on the mark.
Although I do believe that there are systems where performance is quite critical and benefit from some level of micro-optimization. Assuming of course that they'd benefit from it because the rest of the app doesn't do lame things like using
O(n2) algorithms that call a routine that you optimized a few seconds out of. *g*
Use optimal algorithms as the top level design and if the users complain about performance take out the slow parts.
>Steve McConnell, as you probably know, stated that the greatest benefits come from re-fining the top-level design, not by micro-optimizing individual routines or lines. He also stated that in the vast majority of systems, performance isn't critical.
>
>In those situations where it is, it won't be known until the application is done, which indicates an inadequancy of the top-level design. It's at this point where micro-optimization can play a significant role.