代码更改,同时在Python中保留内存中的大对象

时间:2010-02-04 21:49:43

标签: python

我有一个应用程序,首先从磁盘加载一个大的pickle trie(173M)然后用它来做一些处理。我经常更换处理部件,这是不方便的,因为加载trie需要15分钟左右。我正在寻找一种方法来消除测试期间的重复加载,因为trie永远不会改变。

我不能做的一件事就是使用较小版本的trie。

我到目前为止的想法是memcached并将trie转变为接受查询并返回我需要的数据的Web服务。

我正在寻找的是一种最省力的路径,在这种情况下,我可以反复更改和重新加载处理代码,同时保持对内存中trie的访问。直接引用树会更好,因为这需要最少的代码更改,但实际上我希望尽量减少整体工作量。

2 个答案:

答案 0 :(得分:2)

您可以尝试使用Pythons内置reload方法或livecoding项目。

答案 1 :(得分:0)

reload的常见问题是实例仍然与旧版本的类绑定。如果您没有保留旧实例,reload很简单且效果很好。