内存映射文件比命名管道更快吗?

时间:2013-04-02 14:34:32

标签: c# .net tcp named-pipes communication-protocol

我正在阅读SQL Server内部和故障排除(Wrox),它有效地说Shared Memory是默认的连接方法,然后是TCP,然后是命名管道。但奇怪的是他们说:

“命名管道是为局域网(LAN)开发的,但在较慢的网络(如广域网(WAN))上效率低下”

我认为命名管道严格用于IPC?而且,为了从IPC跳转到网络通信,您必须使用TCP / UDP。我更感兴趣的是提到共享内存/内存映射文件 - 它们比NamedPipes / IPC更快吗?

1 个答案:

答案 0 :(得分:3)

答案是,像往常一样,"它取决于。"如果涉及大量数据,共享内存将减少复制它的大部分开销。但是以这种方式使用映射文件仍然需要一些辅助形式的IPC来协调对共享内存空间的访问。