【发布时间】:2011-02-25 02:35:57
【问题描述】:
我有一个脚本,它使用集合和字典执行大型 AI 计算,每千个状态输出一行,而且它有口吃的倾向。搜索的空间越大,口吃的时间越长,所以我认为这可能是重新散列的集合和字典。无论如何,我可以让这些类过度分配吗?
【问题讨论】:
-
我怀疑,交换抖动是更可能的原因。在任何情况下,您都应该分析而不是猜测。
标签: python dictionary set
我有一个脚本,它使用集合和字典执行大型 AI 计算,每千个状态输出一行,而且它有口吃的倾向。搜索的空间越大,口吃的时间越长,所以我认为这可能是重新散列的集合和字典。无论如何,我可以让这些类过度分配吗?
【问题讨论】:
标签: python dictionary set
似乎没有办法强制字典预先分配。它可能不是字典重新散列,它可能是垃圾收集器。 gc 模块中有一些函数可以用来控制或至少观察收集器的行为。
【讨论】:
gc.disable() 关闭自动垃圾收集,并使用gc.collect() 进行手动收集。还有一些gc调试功能。