昨天我在python中做了一个简单的测试,想知道巨大的字典(约1000万个键)对内存的影响是什么,以及如何有效地清空它们(不是一次清空所有的键)。我使用clear()方法作为参考,我在寻找所有键被删除后仍在使用的内存量。
在我的测试中,clear()方法能很好地删除并将内存还给操作系统,而当我使用
del
或
pop
时,所有键被删除后消耗的内存仍然相当大。为了测量一个对象所使用的内存,我使用了一个在网上找到的函数,它出现在源代码的开头(也可用
here
).
与
pop
或
del
相比,
clear
方法怎么会如此高效?
我的测试的代码可以找到 here 以及测试结果。