4 ms·
I think the "root of all evil" comes from _discussions_ of premature optimization in public forums, not the act itself. Optimization discussions tend to take th
by chipsy 16y ago
I think the "root of all evil" comes from _discussions_ of premature optimization in public forums, not the act itself. Optimization discussions tend to take these archetypes:
* Existing performance problem
* Concerns about planning architecture/approaches
* I want to make it fast, is this plan a good one?
The first two can be OK, although in most cases the second goes nowhere because nobody has the deep and highly specific domain knowledge needed to help with estimating performance in the large.
The last kind is the worst - the person who initiates the discussion has already decided that there is a problem and tried to act on it, and oftentimes wants to brag a bit, and now people can either tell him he's right(boring) or he's wrong/premature(causing conflict). Since these days, most of the time it's premature, there's a huge cargo cult of programmers who essentially say "never optimize." This cult battles against both the performance freaks, and the people who are simply curious about learning and applying more optimization techniques.
Internally to a team, the discussion is fundamentally different as it's made within the context of ship date, spec, etc. Any debate is ultimately settled by the leadership, right or wrong. It only becomes a problem when people can hold the debate in a realm of unbounded perfectionism.
Besides, if you keep your mouth shut, you usually discover for yourself if it was a good idea to bother optimizing.