У меня есть следующий код в python, который по крайней мере для меня производит странные результаты:
import numpy as np
import timeit
a = np.random.rand(3,2)
print timeit.timeit('a[2,1] + 1', 'from __main__ import a', number=1000000)
print timeit.timeit('a.item((2,1)) + 1', 'from __main__ import a', number=1000000)
Это дает результат:
0.533630132675
0.103801012039
Кажется, хорошо, если я только пытаюсь получить доступ к элементу numpy, но при увеличении этого элемента тайминга становятся странными... Почему существует такая разница в таймингах?