在评估表达式时
x += 2 * y
Numpy首先分配一个新的临时数组来保存2 * y,将它添加到x然后删除它,还是它可以就地执行整个操作?
最佳答案 是的,这是一个临时数组.
如果您发现自己需要减轻NumPy对巨型临时阵列的喜爱,那么像Numexpr这样的其他库可以提供相当多的帮助,但请确保将性能问题归咎于正确的原因.天真尝试节省分配通常会导致大幅减速而不是性能提升.
在评估表达式时
x += 2 * y
Numpy首先分配一个新的临时数组来保存2 * y,将它添加到x然后删除它,还是它可以就地执行整个操作?
最佳答案 是的,这是一个临时数组.
如果您发现自己需要减轻NumPy对巨型临时阵列的喜爱,那么像Numexpr这样的其他库可以提供相当多的帮助,但请确保将性能问题归咎于正确的原因.天真尝试节省分配通常会导致大幅减速而不是性能提升.