据我所知,如果正确使用共享内存,它可能比任何其他类型的IPC更快。我的问题更具体一点:如果我将许多小包,例如100个字节,从不同程序传输到一个主程序,我可以期待什么样的速度差异?
答案 0 :(得分:2)
使用共享内存的好处不会那么多,因为最终会在共享内存上使用条件变量(参见pthread_condattr_setpshared
;顺便说一句,这将是一项重要的编码工作。)然后你的逻辑由OS调度程序控制,它与使用localhost
TCP连接没有什么不同,后者在大多数操作系统上具有与标准TCP不同且快速的实现。
如果可以完全依赖共享内存中的自旋锁,那么你确实会实现像x3折叠那样的大幅加速。