I don’t want to optimize this code prematurely. And “while you’re still writing it” is probably premature. On the other hand, totally ignoring algorithmic complexity is a sure route to a Shlemiel the Painter’s algorithm.
Do I really want to just write the whole thing, and then start profiling it to see where the hot spots are, and then possibly have to re-design the whole thing? That seems like the complete opposite of “work smarter, not harder”. Then again, it doesn’t matter if you write an O(n2) or even O(n!) algorithm if n is always going to be small… and in this application, I expect low-to-middling n values.
Of course, even if n will always be small, and increasing CPU power is my friend… even if it performs fast enough to make users happy, I’ll still know there’s a problem down there in the details. That may be the deciding factor.
One Comment
Get the big-O right, because that determines what algorithm you’re using. Don’t both with constant-time optimizations.
One Trackback
On Twitter, Kagan MacTane said: New blog post: Would Shlemiel the Painter Optimize Prematurely? http://bit.ly/2oyUJ
Trackback powered by Topsy