←back to thread

50 points senfiaj | 2 comments | | HN request time: 0s | source
Show context
Grumbledour ◴[] No.45809114[source]
The question is of course always where someone draws the line, and thats part of the problem.

Too many people have the "Premature optimization is the root of all evil" quote internalized to a degree they won't even think about any criticisms or suggestions.

And while they might be right concerning small stuff, this often piles up and in the end, because you choose several times not to optimize, your technology choices and architecture decisions add up to a bloated mess anyway that can't be salvaged.

Like, when you choose a web framework for a desktop app, install size, memory footprint, slower performance etc. might not matter looked at individually, but in the end it all might easily add up and your solution might just suck without much benefit to you. Pragmatism seems to be the hardest to learn for most developers and so many solutions get blown out of proportion instantly.

replies(5): >>45809233 #>>45809261 #>>45810859 #>>45811105 #>>45814838 #
arethuza ◴[] No.45809261[source]
I've never interpreted "Premature optimization..." to mean don't think about performance, just that you don't have to actually implement mechanisms to increase performance until you actually have requirements to do so - you should always ask of a design "how could I make this perform better if I had to".
replies(1): >>45809298 #
1. aleph_minus_one ◴[] No.45809298[source]
To me, it rather meant: "Ultrahard" optimization is perfectly fine and a good idea, but not before it has become clear that the requirements won't change anymore (because highly optimized code is very often much harder to change to include additional requirements).

Any different interpretation in my opinion leads to slow, overbloated software.

replies(1): >>45809386 #
2. arethuza ◴[] No.45809386[source]
Yeah - I've heard that described as "It's easier to make working things fast than fast thing work" - or something like that.