python - 内存中有耗时的对象

标签 python

下面的代码是我的主要功能的一部分

def main():
    model = GoodPackage.load_file_format('hello.bin', binary=True)
    do_stuff_with_model(model)

def do_stuff_with_model(model):
    do something~

假设 hello.bin 的大小为几 GB,并且需要一段时间来加载它。方法 do_stuff_with_model 仍然不稳定,我必须进行大量迭代,直到拥有稳定的版本。换句话说,我必须多次运行main函数才能完成调试。但是,由于每次运行代码都需要几分钟来加载模型,因此非常耗时。有没有办法让我将模型对象存储在其他地方,以便每次我通过在控制台中键入 python my_code.py 运行代码时都不必等待?我认为使用 pickle 也没有帮助,因为文件仍然很大。

最佳答案

创建一个 ramdisk 怎么样? ?如果您有足够的内存,您可以将整个文件存储在 RAM 中。这将大大加快速度,尽管您可能每次重新启动计算机时都必须执行此操作。

在 Linux 上创建 ramdisk 非常简单。只需创建一个目录:

mkdir ramdisk

并将其挂载为 tempsramfs 文件系统:

mount -t tmpfs -o size=512m tmpfs ./ramdisk

从那里您可以简单地将大文件复制到 ramdisk。这样做的好处是,除了简单地更改大文件的路径之外,您的代码保持完全相同。文件访问与平常一样,但现在速度更快,因为它是从 RAM 加载的。

关于python - 内存中有耗时的对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27370745/

相关文章:

Python NLTK : how to lemmatize text include verb in english?

python - 根据 SQL 查询的结果设置 python 变量

python - 如何在 Tensorflow 中使用逐个事件的权重?

python - 在 Heroku 上安装 Spynner

python - 用数据框计算出现次数?

Python如何为所有子类的联合定义类型提示

python - 在 Python 中获取文件属性(隐藏、只读、系统、存档)

python - 使用 12 位图像从头开始创建新的 DICOM

python 数据挖掘

python - CEF Python 代理身份验证