在内存中有耗时的对象

2024-10-01 02:30:52 发布

您现在位置: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也不会有帮助,因为文件仍然很大


Tags: 代码模型功能formathellomodelbinmain
1条回答
网友
1楼 · 发布于 2024-10-01 02:30:52

创建一个ramdisk怎么样?如果你有足够的内存,你可以将整个文件存储在RAM中。这将大大加快事情,虽然你可能不得不这样做,每次你重新启动电脑

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

mkdir ramdisk

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

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

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

相关问题 更多 >