为什么np.float32的NumPy操作比np.int32更快?

时间:2018-07-28 19:46:57

标签: python numpy

>>> import numpy as np
>>> a1 = np.arange(10000, dtype=np.int32)
>>> a2 = np.arange(10000, dtype=np.float32)
>>> %timeit -n 1000 -r 5 np.sum(a1)
110 µs ± 1.18 µs per loop (mean ± std. dev. of 5 runs, 1000 loops each)
>>> %timeit -n 1000 -r 5 np.sum(a2)
50.1 µs ± 895 ns per loop (mean ± std. dev. of 5 runs, 1000 loops each)

有人可以向我解释一下相同操作但使用不同dtypes的速度之间的巨大差异吗?

这真的让我感到困惑。我天真地认为int32上的操作会更快,但是看到以上结果令人震惊。感谢您的提前帮助。

0 个答案:

没有答案