我认为Boost.MPI
和Boost.Interprocess
不同,对吧?
从性能角度来看,哪个更快?有没有人做过基准测试?
我可以使用它们在同一进程中传递数据(即在不同的线程中)吗?
谢谢!
答案 0 :(得分:19)
他们完全不同。 Boost MPI用于并行/分布式计算(如大规模并行超级计算机)。它需要现有的MPI(消息传递接口)安装,例如OpenMPI。 MPI通常用于联网计算机的高性能集群,或超级计算机。 Boost MPI库基本上只是普通MPI函数调用的一个很好的包装器。
另一方面,Boost.Interprocess是IPC(进程间通信)的API,即在一台计算机上的两个进程之间进行通信。
如果要在同一台计算机上的进程之间共享数据,Boost.Interprocess非常有用。但是,如果按照您的建议,您只想在线程之间共享数据,则不需要任何此类数据。您只需要一个线程API。