python – Numpy是否在x = 2 * y这样的表达式中分配临时数组?

在评估表达式时

x += 2 * y

Numpy首先分配一个新的临时数组来保存2 * y,将它添加到x然后删除它,还是它可以就地执行整个操作?

最佳答案 是的,这是一个临时数组.

如果您发现自己需要减轻NumPy对巨型临时阵列的喜爱,那么像Numexpr这样的其他库可以提供相当多的帮助,但请确保将性能问题归咎于正确的原因.天真尝试节省分配通常会导致大幅减速而不是性能提升.

点赞