在迭代算法中,多次使用大型 numpy 数组是很常见的。数组经常需要在每次迭代时手动“重置”。填充现有数组(使用 nans 或 0s)和创建新数组之间是否存在性能差异?如果是这样,为什么?
答案取决于数组的大小。虽然分配新的内存区域需要几乎固定的时间,但填充该内存区域的时间随大小呈线性增长。但是,用 填充新分配的内存的numpy.zeros速度几乎是用 填充现有数组的两倍numpy.fill,比项设置快三倍x[:] = 0。
因此,在我的机器上,用少于 800 个元素填充向量比创建新向量更快,用超过 800 个元素创建新向量更快。
| 归档时间: |
|
| 查看次数: |
1097 次 |
| 最近记录: |