在Python中将大型对象保留在内存中的同时更改代码
我有一个应用程序,它首先从磁盘加载一个大的pickled trie(173M),然后使用它进行一些处理。我经常对处理部分进行更改,这很不方便,因为加载trie大约需要15分钟。我正在寻找一种方法来消除测试期间的重复加载,因为trie从未改变 我不能做的一件事是使用更小版本的trie 到目前为止,我的想法是memcached,并将trie转换为一个web服务,它接受查询并返回我需要的数据在Python中将大型对象保留在内存中的同时更改代码,python,Python,我有一个应用程序,它首先从磁盘加载一个大的pickled trie(173M),然后使用它进行一些处理。我经常对处理部分进行更改,这很不方便,因为加载trie大约需要15分钟。我正在寻找一种方法来消除测试期间的重复加载,因为trie从未改变 我不能做的一件事是使用更小版本的trie 到目前为止,我的想法是memcached,并将trie转换为一个web服务,它接受查询并返回我需要的数据 我要寻找的是一条最省力的路径,在这种情况下,我可以重复更改和重新加载处理代码,同时保持对内存中trie的访问。
我要寻找的是一条最省力的路径,在这种情况下,我可以重复更改和重新加载处理代码,同时保持对内存中trie的访问。直接引用树会更好,因为这将需要最少的代码更改,但实际上我希望最小化总体工作量。您可以尝试使用Pythons内置方法或项目。重新加载的常见问题是实例绑定到类的旧版本。如果不保留旧实例,
reload
很简单,效果也很好。对-我假设情况就是这样,并修改了我的代码,在重新加载后在重新加载的模块中构造一个类的新实例。这是模块中我唯一需要的部分,而且我只需要一个,所以它工作得很好。数据库不能工作有什么特别的原因吗?我想不出它能工作的原因。