Would Shlemiel the Painter Optimize Prematurely?

Posted Thursday, June 18th, 2009 at 2:34 pm

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

  1. Amber
    Posted Saturday, March 9th, 2013 at 9:12 am | Permalink

    Get the big-O right, because that determines what algorithm you’re using. Don’t both with constant-time optimizations.

One Trackback

  1. By Kagan MacTane on Thursday, June 18th, 2009 at 2:34 pm

    On Twitter, Kagan MacTane said: New blog post: Would Shlemiel the Painter Optimize Prematurely? http://bit.ly/2oyUJ
    Trackback powered by Topsy

Post a Comment

Your email is never shared. Required fields are marked *