thisの回答では、次のように述べています。
また、X が「ネットワーク」を使用していると聞いて、これがパフォーマンスのボトルネックになると考えています。ここでの「ネットワーク」はローカルの UNIX ドメイン ソケットを意味し、最新の Linux ではオーバーヘッドはごくわずかです。ネットワーク上でボトルネックになるものは、高速化するための X 拡張機能 (共有メモリ ピックスマップ、DRI など) があります。ボトルネックは、ローカル ソケットの最小限のオーバーヘッドよりも、同じハードウェアにアクセスする複数のスレッドまたはプロセスを調整するという固有の問題に関係しているため、プロセス内のスレッドは必ずしも X ソケットよりも高速ではありません。
理解できません。複数のプロセスが Unix ドメイン ソケットで通信するよりも、複数のスレッドが共有変数で通信する方が高速であると常に考えています。それで...私は間違っていますか?複数のスレッドを調整するのは、それほど時間のかかる仕事ですか? また、プロセスがスケジュールされる順序は、Unix ドメイン ソケットのパフォーマンスにまったく影響しませんか?
何か案が?お願いします...
申し訳ありませんが、私は質問を明確にしませんでした。私が聞きたかったのは、X Window/Wayland システムではなく、IPC の効率についてです。
UNIXドメインソケットが共有メモリよりも高速である理由を知りたいだけですか? 私の知る限り、共有メモリはプロセスとスレッド間で通信するための最も原始的な方法ですよね? したがって、UNIX ドメイン ソケットは、共有メモリ メカニズムの上に構築する必要があります (適切なロックを伴う)。生徒 (つまり Unix ドメインソケット) が教師 (つまり共有メモリ) よりも優れているのはなぜですか?