4


1

ソケットとパイプのパフォーマンス

localhostのソケットを使用してC ++プログラムと通信するJavaプログラムがあります。 ネイティブOSパイプを使用するように移行することで、パフォーマンス(遅延、帯域幅、またはその両方)の向上を期待できますか? 現時点では主にWindowsに興味がありますが、Unix / Linux / OSXに関連する洞察も歓迎します。

編集:明確化:両方のプログラムは同じホスト上で実行され、現在ソケットを介して通信しています。 localhost:へのTCP / IP接続を作成します。 私の質問は、(ローカル)名前付きパイプ(Windows)または同等のUnix(AF_UNIXドメインソケット)を使用するように切り替えることの潜在的なパフォーマンス上の利点は何ですか?

2 Answer


7


ケンは正しい。 名前付きパイプは、Windows上では間違いなく高速です。 UNIXおよびLinuxでは、UDSまたはローカルパイプが必要です。 同じこと、異なる名前。

ソケット以外は、ローカル通信で高速になります。 これには、メモリマップファイル、ローカルパイプ、共有メモリ、COMなどが含まれます。


0


最初のGoogleヒットはhttp://home.iae.nl/users/mhx/pipes&socks.html[this]になりました。これはNT4とXPをクロックし、名前付きパイプ(それはあなたが意図したものですか?)がWindowsで高速であることがわかりました。