When I started the BASPLC project, I said that one reason was that I missed working in a highly constrained environment. There's a bit of a thrill squeezing the last couple of bytes out of some code, while still preserving the performance. This post is about a couple of observations I made while trying to produce smaller code. Things that I would have no problem doing in a large system become issues in a smaller one.
There's a philosophy in programming that trying to hand-optimize code is a waste of time. In most cases, I agree, but as we'll see, we can get some good benefit by paying attention to what we're doing.