在迭代算法中,多次使用大型 numpy 数组是很常见的。通常,每次迭代时都需要手动“重置”数组。填充现有数组(使用 nan 或 0)和创建新数组之间是否存在性能差异?如果是这样,为什么?
答案取决于数组的大小。虽然分配新的内存区域需要几乎固定的时间,但填充该内存区域的时间随大小呈线性增长。
但是,填充新分配的内存numpy.zeros
几乎是填充现有数组的两倍numpy.fill
,比项目设置快三倍x[:] = 0
.
因此,在我的机器上,用少于 800 个元素填充向量比创建新向量更快,用超过 800 个元素创建新向量更快。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)