栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

Numpy除法和Python除法之间的区别?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Numpy除法和Python除法之间的区别?

这里似乎没有任何实际的性能差异。

当我运行您的代码并交换两个测试时,以第二个为准。

当我使用

timeit
适当的基准测试时,它们大约需要相同的时间(540ms
/
与539ms
divide
)。

我的猜测是,您所测量的差异是对数组进行malloc的时间-第一个需要这样做,第二个可以重用刚释放的内存。


但是,让我们看一下源代码。中的代码

generate_umath.py
创建实际的代码,并为的插槽分配相同的代码
Ufunc
(名为
numpy.core.umath.divide
)。(如果你想知道为什么我抬起头,当你使用和替代和,看到评论后它删除了Python
3中,因为它会被它别名。)IIRC,实际的代码是类型开关和大小最终会出现在中的一个循环模板中。
np.floor_divide``PyNumber_FloorDivide``np.ndarray``floor_divide``divide``/``floor_divide``//``divide``true_divide
loops.c.src

因此,除了显式的Ufunc包装器代码与内置

method-wrapper
包装器代码(对于任何不是很小的数组都无关紧要)之间的差异之外,它们最终都位于同一位置。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/652115.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号