News for hackers. Stuff that matters.
Re:Dirty Coding Tricks by jandrewrogers on Thursday January 08, 2015 @04:26PM (#8859120)
When designing performance-sensitive software, database engines in my case, it is not uncommon to "bank" optimizations and resources for future code emergencies.

From a customer's perspective, you are always allowed to make the software faster with a future patch but never slower. The issue is that sometimes you find bugs (or add/complete features) where the correct implementation is somewhat slower than what you already shipped or planned for. In these cases, you end up creating two patches: one to address the customer issue and one to add an optimization to return the overall system performance to its prior level.

I've shipped complex v1.0 software where low-hanging optimizations would probably have made the system 2-5x faster (though still perceived as being extremely fast). Over time, it allowed us to add in expensive features and bug fixes without perceptible reductions in performance by harvesting the optimizations we'd banked in the first version.

Re:Dirty Coding Tricks by nvader on Thursday January 08, 2015 @05:55PM (#8859590)
I learned something from this. I'm saving this snippet of advice for future reference.
Re:Dirty Coding Tricks by 6footgeek on Friday January 09, 2015 @04:07AM (#8861384)
Me too, its a great bit of advice that I had never even considered before! bookmarked!
Re:Dirty Coding Tricks by starik36 on Friday January 09, 2015 @11:53AM (#8863022)
So Scotty-based software development?