http://qs321.pair.com?node_id=732197


in reply to Efficient programming

To hop on board what everyone else is saying, evaluate in the following order:
  1. Does it work? If not, make it work first.
  2. Does it run fast enough? If so, stop. Fast enough is determined by need. If it's a batch job, then 8 hours may be fast enough. On the web, anything under 3-5 seconds is fast enough. If you need faster than 0.1s, you're probably using the wrong tools (i.e., Perl isn't the right language).
  3. If it needs to be faster, then find a better algorithm. Look at CPAN.
  4. If the right algorithms is in use, find a better implementation. Look at CPAN.
  5. If all else fails, ask here.
For the record, this is the exact set of steps I use and have used for over 7 years.

My criteria for good software:
  1. Does it work?
  2. Can someone else come in, make a change, and be reasonably certain no bugs were introduced?