2011-05-20 70 views
0

這是場景。我已經構建了一個用於執行存儲過程的數據包裝類。我想在其他項目中使用這個類。衆所周知,數據層代碼應儘可能快地執行以避免瓶頸。從其他程序集加載類是否有性能損失?

所以我的問題是,如果我要建立自己的組件,其更容易分發到其他解決方案,我的數據類,這是否創建任何類型的類本身加載時間處罰?另一種選擇是將類文件複製並粘貼到每個項目中。

回答

2

您應該注意,儘管裝載裝配時存在非零(儘管可能不重要)的成本,但在幾乎所有情況下,它僅對每個AppDomain發生一次,因此瓶頸不是問題。

1

你意識到,整個框架落入other類組件也。

我不認爲這裏涉及的時間長短沒關係,並在你的進程將產生影響。

+0

是的,我確實意識到這一點,但我只是很好奇,人們會認爲什麼意見:) – 2011-05-20 16:18:17

0

類型由JIT加載你需要從另一個裝配某種類型的第一刻。 它首先加載程序集本身,然後包含所有類型。

之後,類型在內存中,並且在構造它們時不會有任何處罰。

對於每個AppDomain,所有這一切都是正確的。但你可能只使用一個。

因此,您所指的性能問題只會發生一次寵物裝配負載。

如果您擔心這可能被觸發時,它不應該,你可以選擇預裝你提前(link to one question of mine)需要的所有組件。

相關問題