Comment by rakeshmenon

12 years ago

Pre-optimization is one of the biggest problems with today's programmers. First priority should always be releasing the software. Let it break. Make optimizations when and where necessary.

No one can look into the future.

First priority is about modularity and elegance. An elegant program is often fast, correct and with a short time-to-market.

It is the numerous scores of small hacks that bogs down programmers nowadays.

  • When I say first priority is releasing the software - it means releasing software that works functionally. We cant optimize stuff which we are not sure will even break due to performance issues.

    Analyze traffic/usage of parts of the application - mark areas which are used most - analyze performance - optimize if not up to mark.

    If stress is always on elegant code - it'll always end up taking more time. In real-life scenario, no module is ever "bug-free". The cases change from day to day. When you're absolutely sure that the functionality is exactly what is required - then you should spend time optimizing it.