numpy array中的内存泄露(memroy leak in numpy1.7.0 array)

转自:http://longriver.me/?p=96

这个标题其实还有些不合适,因为目前还没有验证出这真的是否是个bug,在google上也没有发现这类问题的结果,但是在实际的使用中..经过多次的观察内存可以确定的确如此,有的人说这可能是numpy自己的内存分配,但是python不能回收这些内存。详情见:http://longriver.me/?p=96

1
2
3
for user,data in itertools.groupby(sys.stdin,operator.getitem(0))
    for d in data:
         pt = numpy.array(d[1:],dtype=float)

内存一直在增加,内存的增加和读入的数据行数,虽然不是正比,但是正相关。但是将代码换成了,

1
pt = numpy.fromiter(d[1:],dtype=float)

之后,问题解决。内存不再增加,初步估计,numpy.array 函数会一直保留着d的引用,会有些cach机制吧。将来还得好好研究。

posted on 2013-12-14 22:13  Harveyaot  阅读(994)  评论(0编辑  收藏  举报

导航