Performance optimizations

This PR _tries_ to reduce method calls and object allocations.

See https://gist.github.com/splattael/5404417 for some benchmarks.
For me, alternatives seem to be "uglier" here.