title: What coding techniques do you use for optimising C programs?
body: <p>Some years ago I was on a panel that was interviewing candidates for a relatively senior embedded C programmer position.</p>
  
  <p>One of the standard questions that I asked was about optimisation techniques. I was quite surprised that some of the candidates didn't have answers.</p>
  
  <p>So, in the interests of putting together a list for posterity - what techniques and constructs do you normally use when optimising C programs?</p>
  
  <p>Answers to optimisation for speed and size both accepted.</p>