我有一个应用程序,首先从磁盘加载一个大的pickle trie(173M)然后用它来做一些处理。我经常更换处理部件,这是不方便的,因为加载trie需要15分钟左右。我正在寻找一种方法来消除测试期间的重复加载,因为trie永远不会改变。
我不能做的一件事就是使用较小版本的trie。
我到目前为止的想法是memcached并将trie转变为接受查询并返回我需要的数据的Web服务。
我正在寻找的是一种最省力的路径,在这种情况下,我可以反复更改和重新加载处理代码,同时保持对内存中trie的访问。直接引用树会更好,因为这需要最少的代码更改,但实际上我希望尽量减少整体工作量。
答案 0 :(得分:2)
您可以尝试使用Pythons内置reload
方法或livecoding项目。
答案 1 :(得分:0)
reload
的常见问题是实例仍然与旧版本的类绑定。如果您没有保留旧实例,reload
很简单且效果很好。