micro optimisations

Hi Peter, 

It's a couple of things that in isolation make a diff, but are hardly noticeable when (quickly) benchmarking on my machine, variance is a bit too high to really see the big picture, it's probably something worth testing with criterium at some point. That said I prefer the code as it is in master, it reads better.