私たちのプログラムは、アウトプロセス COM サーバーを消費し、そのインターフェイスで何千もの呼び出しを行います。これには非常に長い時間がかかります。たとえば、約 50,000 回の呼び出しで 1 分ほどかかります。COM コンポーネント ベンダーは、呼び出し自体は非常に高速であり、問題はアウトプロセス呼び出しに関連するオーバーヘッドにあると述べています。
そのような場合にオーバーヘッドを減らすために調整できるものはありますか?
私たちのプログラムは、アウトプロセス COM サーバーを消費し、そのインターフェイスで何千もの呼び出しを行います。これには非常に長い時間がかかります。たとえば、約 50,000 回の呼び出しで 1 分ほどかかります。COM コンポーネント ベンダーは、呼び出し自体は非常に高速であり、問題はアウトプロセス呼び出しに関連するオーバーヘッドにあると述べています。
そのような場合にオーバーヘッドを減らすために調整できるものはありますか?
通話回数を減らす方法を探してください。たとえば、インターフェイスで許可されている場合は、次のようなコードを置き換えることを検討できます。
for a in c..d {
array[a]=obj.get(a)
}
と:
obj.getArray(array)
ベンダーの助けなしにできることはあまりないと思います。その性質上、プロセス外の com オブジェクトは、プロセス内のものよりもはるかに多くのマーシャリングなどが必要になるためです。
ベンダーに助けてもらうことができる場合、2 つの選択肢があります。
あなたが話している種類のトラフィックを保存するための主なものはCOM +ですが、これはプロセス外のCOMオブジェクトでは使用できません。