Performance Related Changes

Pull request as discussed at length in this [issue](https://github.com/pyr/cyanite/issues/40)