Numpy вокруг / Rint медленнее по сравнению с Astype (Int)
Так что, если у меня есть что-то вродеx=np.random.rand(60000)*400-200
, IPython-х%timeit
говорит:
x.astype(int)
занимает 0,14 мсnp.rint(x)
а такжеnp.around(x)
занять 1,01 мсОбратите внимание, что вrint
а такжеaround
случаях вам все еще нужно потратить дополнительные 0,14 мс, чтобы сделать окончательныйastype(int)
(при условии, что это то, что вы в конечном итоге хотите).
Вопрос: Правильно ли я считаю, что большинство современных аппаратных средств способны выполнять обе операции одновременно. Если это так, то почему для округления numpy требуется в 8 раз больше времени?
Как это случается, я не супер суетлив в отношении точности арифметики, но я не понимаю, как воспользоваться этим с помощью numpy (я занимаюсь грязной биологией, а не физикой элементарных частиц).