私の読書によると、デーモンの存在により、dbus のパフォーマンスは他のメッセージング ipc メカニズムよりも 2 倍遅くなるはずです。
どのLinux IPC手法を使用するかという質問の議論で、誰かがパフォーマンスの問題について言及しています。2 倍の速度低下以外のパフォーマンスの問題はありますか? 組み込みシステムで dbus を使用できないという問題はありますか?
dbus が小さなメッセージを対象としているかどうかは、私の理解に基づいています。大量のデータを渡す必要がある場合、解決策の 1 つは、データを共有メモリまたはパイルに配置し、dbus を使用して通知することです。検討中の議論によるその他の ipc メカニズムは次のとおりです。シグナル、匿名パイプ、名前付きパイプまたは FIFO、SysV メッセージ キュー、POSIX メッセージ キュー、SysV 共有メモリ、POSIX 共有メモリ、SysV セマフォ、POSIX セマフォ、FUTEX ロックmmap、UNIX ドメイン ソケット、Netlink ソケット、ネットワーク ソケット、Inotify メカニズム、FUSE サブシステム、D-Bus サブシステムを使用した、バックアップされた匿名共有メモリ。
要件をリストする別の質問に言及する必要があります(ただし、Apache中心です):
- パケット/メッセージ指向
- ポイントツーポイントと 1 対多の通信の両方を処理する機能
- 階層なし、サーバーとクライアントなし
- 1 つのエンドポイントがクラッシュした場合、他のエンドポイントに通知する必要があります
- 既存の Linux ディストリビューションからの優れたサポート
- 動的ページを作成するための Apache 用の「バインド」の存在 -- これはあまりにも具体的ですが、一般的な埋め込み dbus の使用に関する議論では無視できます。
パフォーマンスに関するさらに別の質問では、パフォーマンスを向上させるためのテクニックについて言及しています。これらすべてに対処することで、組み込みシステムで dbus を使用する場合の問題や欠点が少なくなるはずです。