0

我用 python 写了一个国际象棋引擎,它很快就消耗了 13GB 的内存。我减小了引擎的规模,并使用 objgraph 库来检查程序创建的数据结构的大小。

这是显示的内容:

Move                          1527385
list                          127783
function                      95591
dict                          86559
tuple                         48816
Node                          22701
Action                        22648
Board                         21059

我知道算法创建的棋盘对象太多,但是如何从内存中删除这些对象?我曾尝试使用 Python 的垃圾收集器库,使用 del 函数在我的程序中手动删除移动的实例,但实例的数量似乎并没有减少。

如何从我的记忆中删除这些实例?

4

0 回答 0