2013-07-25 44 views
0

我有N個同樣的節目在同一時間共享DLL的影響(或不?)

運行是更好地給他們每個人自己的個人.dll文件?或者這不影響性能。 (速度?或內存分配方面?)

感謝

回答

2

你的意思是,在磁盤上的一個單獨的DLL文件?它不影響速度或內存分配。導入DLL導致DLL的內容被加載到單個程序的內存空間中,因此使用相同DLL的多個程序實際上將使用它的不同「副本」。 (注意:「複製」用引號括起來:在多個程序實例中,DLL的代碼可以使用相同的物理內存,如果是這樣,那麼對所有的DLL使用相同的DLL將減少整體物理內存使用量,但是你不能指望這一點。 )

+0

根據此...使用相同的DLL將允許從磁盤加載到內存較少的代碼。 另一個好處是,如果你有,而不是10一個DLL的DLL ABD你需要改變你的計劃,你可以編輯只是一個而不是編輯所有10 http://support.microsoft.com/KB/815065 –

0

取決於您的N值。使用組合方法總是更好。也就是說,在沒有明顯延遲的情況下,訪問同一個dll的最大數量(比如5或10,取決於dll的使用情況)是相同的程序的實例,如果超過了上述分隔數字,最好創建另一個複製dll並將它們分配給新實例。

同樣,它取決於N值,dll的使用會導致多長時間的延遲等等。製作多個dll的原因是不鼓勵的,它使用了很多空間以及如果N很大,可能會過時地創造10輛校車來運送10個住在10個不同地方的學校兒童。