[Python 3.1]
我的程序需要很长时间才能运行,只是因为一个巨大的数据结构上的 pickle.load
方法。这使得调试变得非常烦人和耗时:每次我做一个小改动,我都需要等待几分钟,看看回归测试是否通过。
我想用内存中的数据结构替换 pickle
。
我想在一个进程中启动一个 python 程序,然后从另一个进程连接到它;但恐怕进程间通信开销会很大。
也许我可以从解释器运行一个 python 函数来加载内存中的结构。然后当我修改程序的其余部分时,我可以多次运行它(中间不退出解释器)。这似乎可行,但我不确定我是否会遇到任何开销或其他问题。
最佳答案
您可以使用 mmap
在多个进程中打开同一文件的 View ,一旦文件加载,访问速度几乎与内存一样。
关于python:如何创建用于调试的持久内存结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4189721/