我希望有一个管理器进程通过共享内存共享图,对于将在这些图上运行各种图算法的其他进程是只读的。我想问一些在研究这个问题时出现的问题:
是否有任何图形库能够在只读 shm 中操作(可能是它们自己的)图形结构?也就是说,算法需要将它们的工作区和结果缓冲区放在本地进程内存中,并且不使用在图形结构中声明的任何缓冲区。
我知道有两个著名的库是igraph和Boost。对前者的C接口了解不多,也没有用过Boost。在这个主题上有什么经验(关于 shm 兼容性)?
在查看 Boost 文档时,我看到有一个支持 shm 的 Boost.Interprocess 包。
- 起初我考虑使用手动制作的 shm 和 mmapped shm(Linux 平台)。Boost 是否优于并推荐这种方法?
- Boost Graph 库与手动 shm 或 Interprocess 一起玩得好吗?
除了对这些问题的见解之外,我很高兴阅读您在图形处理和共享内存方面的经验。谢谢!