Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/performance/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Numpy是否在x+;=2*y?_Python_Performance_Numpy - Fatal编程技术网

Python Numpy是否在x+;=2*y?

Python Numpy是否在x+;=2*y?,python,performance,numpy,Python,Performance,Numpy,计算表达式时,如 x += 2 * y Numpy是否首先分配一个新的临时数组来保存2*y,将其添加到x,然后将其删除,或者它是否可以在适当的位置执行整个操作?是的,这会生成一个临时数组 如果您发现自己需要减轻NumPy对巨型scratch阵列的喜爱,那么像这样的附加库会有很大帮助,但请确保将性能问题归因于正确的原因。保存分配的天真尝试通常会导致大量的速度减慢,而不是性能提高。numexpr是处理大型阵列的绝佳库。我很高兴你提到它。更痛苦的是,numpy阵列需要连续的内存块

计算表达式时,如

x += 2 * y

Numpy
是否首先分配一个新的临时数组来保存
2*y
,将其添加到
x
,然后将其删除,或者它是否可以在适当的位置执行整个操作?

是的,这会生成一个临时数组


如果您发现自己需要减轻NumPy对巨型scratch阵列的喜爱,那么像这样的附加库会有很大帮助,但请确保将性能问题归因于正确的原因。保存分配的天真尝试通常会导致大量的速度减慢,而不是性能提高。

numexpr是处理大型阵列的绝佳库。我很高兴你提到它。更痛苦的是,numpy阵列需要连续的内存块