Originally Posted by
ProgramThis
I don't completely disagree with your opinion though. I sit somewhere in between your opinion and that of Knuth in that I think that you SHOULD consider performance of your system before writing the code. If you do not know what part of your code is the critical section, then you shouldn't be writing it :D. You won't find all of the bottlenecks until it has been released (or in QA for a sufficient amount of time), but you should be able to initially optimize certain parts that you "should" know are critical sections beforehand.