|
分類:[.NET 全般]
開発環境:Visual Studio 2008 言語:Visual C#
※管理人様 編集途中で送信してしまいました。 お手数ですが、#30413を削除願います。
こんばんは、めろぱんと申します。
IPCとWCFの速度に関する質問です。
C#でプロセス間通信が必要になりました。 受け渡しするデータは20文字程度の文字列です。 マシン内でのみ通信ができればよく、少し調べてみると IPCとWCFが使えそう、というのが分かり、 両方でサンプルプログラムを作ってみました。 両方とも、クライアントでボタンをクリックすると、 サーバーから文字列を取得し、画面に表示する、 というシンプルなものです。 WCFのBindingはNetNamedPipeBindingです。
この2つのサンプルを比べてみると、 IPCよりもWCFの方がレスポンスが悪いことが分かりました。 両方ともばらつきはあるのですが、 IPCは遅くても200ms程度であるのに対し、WCFは1000ms程度 かかる場合もあります。 クライアントでボタンをクリックしてからサーバーのメソッドが 呼ばれるまでの時間が上記時間の9割程度を占めるので、 通信部分で時間を食っているのか?と考えているところです。
ここで質問ですが、 IPCとWCF(NetNamedPipeBiding)では、WCFのほうが絶対的に遅い ということはありませんでしょうか? また、通信速度に影響するパラメータなどはありませんでしょうか?
たかだか1秒ですが、実際に操作してみるともたつき感が否めません。 IPCよりWCFが絶対的に遅い、というのならIPCを選択しようと思いますが、 そんなことはない!というならWCFを使いたいと思っています。
よろしくお願い致します。
|