在哪些方面,Numpy的速度反而比不上原始Python

 我来答
就烦条0o
2016-09-03 · 知道合伙人软件行家
就烦条0o
知道合伙人软件行家
采纳数:33315 获赞数:46492
从事多年系统运维,喜欢编写各种小程序和脚本。

向TA提问 私信TA
展开全部
你这个问题其实不说明numpy比原始的Python慢,而是说明了数据转换是有性能损耗的。

numpy内部存储数据是和C语言一致的,比如一个这里100个np.float64的元素就是内存中紧密排列的100个double数字。


Python里的所有东西,包括简单的数字,全都是PyObject的指针,每个PyObject都要在堆上分配,记录引用计数,类型等许多
bookkeeping的数据。你访问a[0]时,这个数字本来只是一个简单的double,但是返回到Python里面就需要在堆上分配并加很多额外信
息;而b[0]不同,Python里的list本来就是PyObject *的数组,这些额外的信息都创建好了,所以更快。

这唯一告诉我们的就是,不要把numpy的计算和Python内置的功能混在一起用,除了到了最后输入输出的时候。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式