下面的代码是我的主要功能的一部分
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
并将其挂载为 temps
或 ramfs
文件系统:
mount -t tmpfs -o size=512m tmpfs ./ramdisk
从那里您可以简单地将大文件复制到 ramdisk。这样做的好处是,除了简单地更改大文件的路径之外,您的代码保持完全相同。文件访问与平常一样,但现在速度更快,因为它是从 RAM 加载的。
关于python - 内存中有耗时的对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27370745/