Numpy内存泄漏?

时间:2015-02-26 21:09:37

标签: python numpy memory-leaks reference-counting

我正在调试嵌入在C ++程序中的Python应用程序。

当我通过PyObject_GetAttrString查询numpy数组属性并在之后很好地解除它(Py_DECREF)时,我仍然看到引用计数增加。 参考计数I通过PyObject_CallObject(PySys_GetObject((char*)"gettotalrefcount"), NULL)

进行追踪

如果我用标准的python列表替换numpy数组,那么引用计数是稳定的。

我做的下一个简单测试是使用python调试版本:

Python 2.7.6 (default, Mar 22 2014, 23:07:03) 
[GCC 4.8.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import numpy
[155099 refs]
>>> l = numpy.array([1,2])
[155102 refs]
>>> l
array([1, 2])
[155156 refs]
>>> l
array([1, 2])
[155207 refs]
>>> l
array([1, 2])
[155258 refs]
>>> l
array([1, 2])
[155309 refs]
>>> l   
array([1, 2])
[155360 refs]

正如您所看到的那样,参考数量不断增加,这是我没想到/不理解的。

任何人都有线索?提前谢谢。

0 个答案:

没有答案