Too Long; Didn't Read
There are only two hard things in Computer Science: cache invalidation and naming things. The best performance improvement is the transition from the nonworking state to the working state. A computer lets you make more mistakes faster than any other invention with the possible exceptions of handguns and Tequila. The trick is to pick the features that don’t fight each other in the design process. The cost of adding a feature is the time it takes to code it. It’s at that level with object-oriented programming languages support encapsulation.