Rico has a good post on when to do optimizations and start considering performance.
I agree that performance is something that has to be in your mind from the start of development or even at the architecture level. The only problem is, to what extent you go.
Different kinds of applications need different levels of optimization and performance. People go to two different extremes where performance is concerened. There are people are so perfomance driven, that they forget the main aim of the application. The other set are those that say performance tuning is a waste of time. They do it only when the application becomes unusable and by then it is usually too late...
A clear performance requirement at the start is a good thing, but it is also important to keep a set of boundarys for performance. If you app requires a response time of 10 sec and you are running at 8-9sec response time, then do not spend time improving the performance. This is where a lot of performance driven programmer go wrong. They continue to work on improving the performance, when they could be adding valuable features.


Comments