在我的32位Windows Vista计算机上,与numpy.complex64
数组相比,当采用相当大的numpy.complex128
数组的绝对值时,我注意到显着(5x)减速。
>>> import numpy
>>> a = numpy.random.randn(256,2048) + 1j*numpy.random.randn(256,2048)
>>> b = numpy.complex64(a)
>>> timeit c = numpy.float32(numpy.abs(a))
10 loops, best of 3: 27.5 ms per loop
>>> timeit c = numpy.abs(b)
1 loops, best of 3: 143 ms per loop
显然,两种情况下的输出都是相同的(与操作精度相同)。
我没有注意到我的Ubuntu 64位计算机上的效果相同。
对此有合理的解释吗?
这是所有窗户共有的东西吗?