David's Rules of Optimization
#0. All optimization rules have exceptions
Except this one.
Corollary
Everything you know is wrong, in some situation.
Corollary
Everything I know is wrong, in some situation.
#1. Don't optimize
No, really. Go buy a faster CPU. Because if you're reading this for the first time, you probably haven't profiled your code and don't even know what needs to be fixed.
#2. Optimize your development time
Only spend time on code where you are fairly certain you can get a 10% overall speedup. This niche of the open source project space has lots of low hanging fruit. Go fix those instead.
A big result of this rule is that I have chosen to focus only on inner loops in liboil. Sure, it would be fun to do higher level stuff, but in the larger context, it's a distraction from liboil's main purpose: to make open source code faster.

