Efficiency

Efficiency is a nice thing. It allows one to do more with less. It is not, however, an unmitigated good, as efficiency is almost always expensive. The question of whether or not efficiency is a good thing must be evaluated in a holistic context, which takes into account not only the benefits efficiency brings, but at what cost those benefits were purchased.

Premature Optimization

One of the most well-known examples of inappropriate efficiency is premature optimization: the practice of optimizing code too early in the development cycle. The immediate results of such optimization (functions, data structures, and so forth) almost always represent real gains in efficiency, but usually in the wrong places. There are two ways such gains may prove worthless:

  • They may represent optimizations of approaches or features that will be abandoned in subsequent development
  • They may represent reduced consumption of non-limiting resources

Examples of the first sort of premature optimizations are easily conjured up. Examples of the second include reducing the memory footprint of a desktop application from 25MB to 15MB (on a modern machine, with 1GB of main memory, such a gain is meaningless) or reducing the reaction time of an application from .01s to .005s (which is imperceptible to a user).

More efficient = better? Not necessarily!

Automobiles

Many people are very enthusiastic about high-mileage automobiles. Is higher mileage always better? Well, you decide.

Here’s a 772.78 MPG automobile. As you can see, a few minor amenities had to be given up to achieve those numbers. This car is a lot more efficient that the one you drive. I’m willing to bet you wouldn’t trade, however, and even if you would, the DOT wouldn’t let you drive this on the public roads.

More efficient = better? Not necessarily!

Paying for It

Efficiency always costs. The only certain test of whether it’s a good idea or not is if the person receiving the benefits is willing to pay the costs. (Naturally, for a mass-produced product, the question is whether or not customers are willing to pay amortized costs.)

The notion that a third party ought to decide that a company should make it’s products “more efficient”, when that company’s customers are not willing to pay for such efficiency gains, is a recipe for massive waste. (The notion that a third party knows better than an entire industry what its customers are willing to pay for is merely foolishness.)

Share and Enjoy:
  • Twitter
  • Facebook
  • Digg
  • Reddit
  • HackerNews
  • del.icio.us
  • Google Bookmarks
  • Slashdot
This entry was posted in Jack Handy. Bookmark the permalink.

Comments are closed.