- avoid passing around a float[::1] memoryview across function barriers, this seems to require reference counting which has a large overhead - inline some functions - C division - float instead of double