python:如何创建用于调试的持久内存结构

标签 python debugging persistence python-3.x

[Python 3.1]

我的程序需要很长时间才能运行,只是因为一个巨大的数据结构上的 pickle.load 方法。这使得调试变得非常烦人和耗时:每次我做一个小改动,我都需要等待几分钟,看看回归测试是否通过。

我想用内存中的数据结构替换 pickle

我想在一个进程中启动一个 python 程序,然后从另一个进程连接到它;但恐怕进程间通信开销会很大。

也许我可以从解释器运行一个 python 函数来加载内存中的结构。然后当我修改程序的其余部分时,我可以多次运行它(中间不退出解释器)。这似乎可行,但我不确定我是否会遇到任何开销或其他问题。

最佳答案

您可以使用 mmap在多个进程中打开同一文件的 View ,一旦文件加载,访问速度几乎与内存一样。

关于python:如何创建用于调试的持久内存结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4189721/

相关文章:

python - 如何在另一台电脑上使用python虚拟环境

python - Pip 未在 Ubuntu 中安装

java - 如何将所有值保存在内存中,并使用命令查看它们,就像在Matlab中调试一样

c++ - QtCreator 和 CMake : debug a release build

database - AppStore 更新后 Cordova 应用程序的 localStorage 被删除

java - 被逐出的对象仍然在 Hibernate 中发布对数据库的更新

java - 使用 Java SE 的 JPA : javax. persistence.PersistenceException:没有 EntityManager 的持久性提供程序

python - 序列化程序在 Javascript 中添加了不必要的字段

python - flask ,SQLAlchemy : KeyError: 'SQLALCHEMY_TRACK_MODIFICATIONS'

QtCreator : how to set parameters for debugging?