iter.py 575 B

12345678910111213141516171819202122232425262728
  1. # Benchmark to compare times for iterators in generator contexts by
  2. # using carrays vs plain numpy arrays.
  3. from time import time
  4. import numpy as np
  5. import bcolz
  6. N = 1e6
  7. a = np.arange(N)
  8. b = bcolz.carray(a)
  9. t0 = time()
  10. # sum1 = sum(a)
  11. sum1 = sum((v for v in a[2::3] if v < 10))
  12. t1 = time() - t0
  13. print("Summing using numpy iterator: %.3f" % t1)
  14. t0 = time()
  15. #sum2 = sum(b)
  16. sum2 = sum((v for v in b.iter(2, None, 3) if v < 10))
  17. t2 = time() - t0
  18. print("Summing using carray iterator: %.3f speedup: %.2f" % (t2, t1 / t2))
  19. assert sum1 == sum2, "Summations are not equal!"