关闭垃圾收集可以获得什么?
我正在阅读timeit模块的代码,我注意到了这一段:
gcold = gc.isenabled()
gc.disable()
timing = self.inner(it, self.timer)
if gcold:
gc.enable()
这只是存储垃圾收集的状态(打开或关闭),然后将其关闭。函数inner
执行正在计时的语句。然后它将垃圾收集器恢复到旧状态。
所以我很好奇这是什么意思。如果被测试的代码在垃圾收集器中运行,那么不应该在测试中反映出来吗?我错过了什么?
没有找到相关结果
已邀请:
2 个回复
漂汀拦
惜堡沁戚
否则,如果定时代码抛出异常,则垃圾收集将保持禁用状态。 我在bugs.python.org上报告了这个问题,并在Python 2.7.3和3.2.2中修复了它。