Going to revisit the 'old way' as an option. After doing some profiling, it seems to be able to maintain accuracy, and its while loop manages to match the for i in xrange speed