numpy函数中参数'out'的效用

时间:2014-12-04 12:13:11

标签: python performance algorithm numpy parameters

某些out函数(例如numpycumsum或其他数学函数)中cumprod参数的效用是什么?

如果结果很大,是否有助于使用out参数来提高计算时间或内存效率?

This thread提供了有关 如何使用它的一些信息。但我想知道什么时候我应该使用它?有什么好处呢?

1 个答案:

答案 0 :(得分:13)

采用out参数的函数会创建新对象。这通常是您对函数的期望:给出一些数组并使用转换后的数据获取一个新数组。

但是,想象一下你想要连续几千次调用这个函数。每个函数调用都会创建一个新数组,这当然需要很长时间。

在这种情况下,您可能想要创建一个输出数组out并让该函数用输出填充数组。处理完数据后,您可以重用out并让函数覆盖其值。这样你就不会分配或释放任何内存,这可以节省你很多时间。