This quote “the root of all evil” is almost always misused and misunderstood.
Developing an application to work well can be done mainly with good design. Good design! = Premature optimization, and completely ridiculous to get away from writing shitty code and blow off design work like a bad waste. Now I'm not specifically talking about you here ... but I see that people do this a lot.
This usually saves you time to do a good job on design. If you emphasize this, you will improve it ... and get faster and faster when writing systems that work well from the start.
Understanding which access structures and methods work best in certain situations is key here.
Of course, if the application becomes really massive or has insane speed requirements, you may find yourself doing cheated optimizations that make your code more ugly or complicated to maintain ... and it would be wrong to do these things before you need to.
But this is absolutely NOT the same as trying to understand and use the right algorithms or data patterns or something like that.
Your users will probably not complain about poor performance if tolerable. Perhaps they did not even know that it could be faster. Responding to complaints as the main driver is a poor way to work. Of course, you need to address the complaints that you receive ... but their lack does not mean that there are no problems. The fact that you are considering improving performance is a bit of an indicator. Is it just a whim or is some part of you telling you what should be better? Why did you decide to improve it?
Just don't go crazy doing unnecessary things.
darron
source share