Rico continues his saga on performance tips for library writers (i would dare to saw, that some tips should be also followed for applications developing).
Highly recommended reading, even if you aren't developing libraries. On a previous life many moons ago, i used to be responsable for performance improvements on application server. Most of the server, was written (and extensible) on a scripting language, with some core code written in C.
I remember fondly of rewriting a function arguments parser (that sounds odd, but it allowed to place on top of the language itself a semi strongly typed argument validated parameters, with a semi loosely coupled signature,optional arguments and default values all of these with a declarative manner) in C, i used principles #3 and #4 extensively,and added some terse and compact coding in order to allow all the compiled code to fit inside 2 processor memory pages (i tried to fit it under one page, but failed by 1236 bytes) i was able to deliver in average a ~24% performance boost to applications (that's real life applications, not synthetic benchmarks).
That's was quite nice, for a single day work. I sometimes wonder if that language runtime had a JIT, this would have been a futile exercise (the runtime was bytecode compiled, but no JIT existed).
Sorry for using this as remainder.