某些out
函数(例如numpy
或cumsum
或其他数学函数)中cumprod
参数的效用是什么?
如果结果很大,是否有助于使用out
参数来提高计算时间或内存效率?
This thread提供了有关 如何使用它的一些信息。但我想知道什么时候我应该使用它?有什么好处呢?
答案 0 :(得分:13)
采用out
参数的函数会创建新对象。这通常是您对函数的期望:给出一些数组并使用转换后的数据获取一个新数组。
但是,想象一下你想要连续几千次调用这个函数。每个函数调用都会创建一个新数组,这当然需要很长时间。
在这种情况下,您可能想要创建一个输出数组out
并让该函数用输出填充数组。处理完数据后,您可以重用out
并让函数覆盖其值。这样你就不会分配或释放任何内存,这可以节省你很多时间。