移除所有键后,大型Python字典的内存占用率

0 人关注

昨天我在python中做了一个简单的测试,想知道巨大的字典(约1000万个键)对内存的影响是什么,以及如何有效地清空它们(不是一次清空所有的键)。我使用clear()方法作为参考,我在寻找所有键被删除后仍在使用的内存量。

在我的测试中,clear()方法能很好地删除并将内存还给操作系统,而当我使用 del pop 时,所有键被删除后消耗的内存仍然相当大。为了测量一个对象所使用的内存,我使用了一个在网上找到的函数,它出现在源代码的开头(也可用 here ).

pop del 相比, clear 方法怎么会如此高效?

我的测试的代码可以找到 here 以及测试结果。