Performance optimizations

This PR _tries_ to reduce method calls and object allocations.

See https://gist.github.com/splattael/5404417 for some benchmarks.
Yep, this looks like an oversight. @splattael ?