jargon

Comparison

Over-engineeringvsPremature optimisation

Over-engineering

the design handles ten thousand requests a second and the product has forty users.

Solving a larger or more general problem than the one you have. It usually comes from an honest place — anticipated scale, imagined reuse, a previous job's scars — and it is expensive twice, once to build and again every time someone has to work through it. The direct question that settles it is what would break at the actual current numbers, said out loud, with the numbers.

Full entry →

Premature optimisation

you hand-rolled a cache for a function that turned out to run twice a day.

Making code faster and worse before knowing whether its speed was ever a problem. The full quotation matters and is usually dropped: Knuth's point was about the ninety-seven percent of small efficiencies, not about ignoring performance entirely. Used honestly it is an argument for measuring first; used lazily it becomes a way to dismiss any performance concern, which is why the more useful phrasing in a review is 'what does the profile say'.

Full entry →

Related comparisons