IPC を選択するときは、転送バッファ サイズ、データ転送メカニズム、メモリ割り当てスキーム、ロック メカニズムの実装、さらにはコードの複雑さなど、パフォーマンスの違いの原因を考慮する必要があります。
利用可能な IPC メカニズムのうち、パフォーマンスの選択は、多くの場合、Unix ドメイン ソケットまたは名前付きパイプ (FIFO) に帰着します。 IPC の Unix ドメイン ソケットが最高のパフォーマンスを提供する可能性があることを示す、プロセス間通信のさまざまなメカニズムのパフォーマンス分析に関する論文を読みました。パイプの方が優れている可能性があることを示す矛盾する結果を他の場所で見ました.
少量のデータを送信するときは、シンプルさから名前付きパイプ (FIFO) を好みます。これには、双方向通信用の名前付きパイプのペアが必要です。 Unix ドメイン ソケットは、セットアップ (ソケットの作成、初期化、および接続) に多少のオーバーヘッドがかかりますが、柔軟性が高く、より優れたパフォーマンス (より高いスループット) を提供する可能性があります。
何が最適かを判断するために、特定のアプリケーション/環境に対していくつかのベンチマークを実行する必要がある場合があります。提供された説明から、Unix ドメイン ソケットが最適であるように思われます。
Beej の Unix IPC ガイド Linux/Unix IPC を始めるのに適しています。
私は Unix ドメイン ソケットを選びます。IP ソケットよりもオーバーヘッドが少ない (つまり、マシン間通信がない) だけでなく、利便性も同じです。