gpt4 book ai didi

python - 跨 python 进程共享模块

转载 作者:太空狗 更新时间:2023-10-30 01:23:30 25 4
gpt4 key购买 nike

我们正在编写一个内存紧张的系统。有多个 python 进程将导入同一组类。如果进程加载了无数个类并且每个进程消耗了几百兆,那么 10 个进程和我正在运行演出。有没有办法跨 python 进程“共享”类导入?

总结:

import classA # Process 1 : loads classA in memory
import classA # Process 2 : reuses what was loaded previously by Process 1

PS:我想要实现的是您可以使用 C/C++ 中的 .so 模块实现的目标。

最佳答案

如果您的操作系统支持高效的写时复制 fork (许多支持),则至少可以节省一点内存。只需在父级中导入一次所有内容,然后 fork() 来创建所有子级。

请注意,如果您有许多小对象,则不会保存任何内容,因为需要写入对象的引用计数。但是,您可以看到属性字典等大型静态结构的大量节省。

关于python - 跨 python 进程共享模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12630913/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com