Hacker News new | past | comments | ask | show | jobs | submit login

I know some will take this badly as its questioning one of the core holy tennants of software engineering, but I do believe its in part down to an overly strong interpretation of the phrase "premature optimisation is the root of all evil".

About a year ago, I was (sidenote, still am) looking to get a new computer. In my free time, I do game dev, so I wanted something powerful enough to give me some flexibility in that, but also weak enough that Im not making my game on a machine 10x more powerful than most people will play it on. Of course you test on other machines as well, but I believe poor optimisation should be seen as a bug, not just something to improve on. I've explained it badly, but hopefully you get what I mean. Anyway, I opened a reddit thread about this on r/gamedev, and got swamped by the old "premature optimisation..." rule.

Its not the first, or last, time I've seen this happen. And of course, premature optimisation can ruin or stall a project, but refusing any and all possible optimisation steps prior to it being a problem seems really odd to me.




Well that's just it - if you're running into slowness that's going to effect the core of what you're building optimizing it isn't "premature".

If you're fiddling with getting a rarely used subsystem to load in 50ms instead of 60ms that's premature.


Would it make more sense for you to build a high-end PC, and artificially limit the performance when testing the game? Or keep some of your old components, to build a low-end testing machine?


Both of those things are absolutely possible, the problem is that it separates the dev and testing steps. Its difficult to explain why exactly this is a problem, so I'll give an example.

Imagine your developing a game on your high end PC, you run it and it runs at like 10 fps. Clearly something is wrong, thats a bug that needs to be fixed before you do anything else.

Now imagine it runs fine on your high end PC, but in testing, it runs at 10 fps.

The issues are the same, and should be treated the same, but in reality they rarely are. The testing issue would certainly be addressed, but not quite with the same urgency.




Consider applying for YC's Spring batch! Applications are open till Feb 11.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: