2009-10-19 69 views
1

我們的程序使用一個out-proc COM服務器,並在其接口上創建數千個調用。這需要非常長的時間 - 大約5萬個電話一分鐘。 COM組件供應商表示,這些調用本身非常快,問題在於與out-proc調用相關的開銷。有沒有辦法減少與out-proc COM調用相關的開銷?

在這種情況下是否有任何可以調整的方法來減少開銷?

回答

2

我真的不認爲有太多可以不幫助,從完成供應商。由於其本質,一個進程外COM對象將需要更多的編組等,而不是一個進程內的COM對象。

如果您可以讓供應商提供幫助,有兩種可能的選擇。

  1. 要求他們爲您提供一個進程內版本(dll),然後您可以在COM +中託管並生成多個實例(如果適用)並且可以提供幫助。
  2. 按照BAsilevs的建議進行操作,並要求他們更新api,以便減少通話量,從而減少通信量。

保存您所關注的流量類型的主要內容是COM +,但不能用於進程外COM對象。

2

尋找一種方法來減少一些呼叫。 例如,如果接口允許,你可以考慮更換類似的代碼:與

for a in c..d { array[a]=obj.get(a) }

obj.getArray(array)

相關問題