2024-09-30 01:23:18 发布
网友
这是这个问题的后续
What are the benefits / drawbacks of a list of lists compared to a numpy array of OBJECTS with regards to MEMORY?
我有兴趣了解当数组是object类型时使用numpy数组与列表列表的速度关系。在
object
如果有人对我使用的对象感兴趣:
import gmpy2 as gm gm.mpfr('0') # <-- this is the object
就速度而言,numpy最大的好处是能够将操作矢量化,这意味着您可以将Python函数调用周围的Python循环替换为一些内联C(甚至自定义SIMD汇编)代码的C循环。对于mpfr对象的数组,可能没有内置的矢量化操作,因此主要的好处就消失了。在
mpfr
不过,有些地方你还是会受益的:
A.T
至于缺点……嗯,一个明显的缺点是,使用numpy限制您使用CPython或有时PyPy(希望将来“有时”会变成“几乎总是”,但到2014年还不完全存在);如果您的代码在Jython、IronPython或非NumPyPy中运行得更快,那么这可能是坚持使用列表的一个很好的理由。在
就速度而言,numpy最大的好处是能够将操作矢量化,这意味着您可以将Python函数调用周围的Python循环替换为一些内联C(甚至自定义SIMD汇编)代码的C循环。对于
mpfr
对象的数组,可能没有内置的矢量化操作,因此主要的好处就消失了。在不过,有些地方你还是会受益的:
A.T
,所以这基本上是免费的。在至于缺点……嗯,一个明显的缺点是,使用numpy限制您使用CPython或有时PyPy(希望将来“有时”会变成“几乎总是”,但到2014年还不完全存在);如果您的代码在Jython、IronPython或非NumPyPy中运行得更快,那么这可能是坚持使用列表的一个很好的理由。在
相关问题 更多 >
编程相关推荐