Optimize

Several different optimisations have been applied to the cython code

Also, the page size has been profiled and set to be an 'optimum' value