未使用的DLL在应用启动期间使用更多资源?

时间:2016-10-25 13:21:58

标签: .net visual-studio compiler-construction

在此MSDN帖子中,https://msdn.microsoft.com/en-us/library/windows/apps/hh994639.aspx

我读了这段话:

  

可重用代码通常以包含在a中的模块(DLL)的形式出现   项目。加载这些模块需要访问磁盘,并像您一样   可以想象,这样做的成本可以加起来。这是最大的   对冷启动的影响,但它会对温暖启动产生影响,   太。在C#和Visual Basic的情况下,CLR试图延迟它   通过按需加载组件尽可能地降低成本。那就是   在执行的方法引用模块之前,CLR不会加载模块。所以,   仅引用启动应用程序所必需的程序集   在启动代码中,以便CLR不加载不必要的模块。如果   您的启动路径中有未使用的代码路径,这些路径没有必要   引用,您可以将这些代码路径移动到其他方法以避免   不必要的负荷。

这对我来说,引用未使用的DLL会对启动时间产生影响。说,我不小心引用了

  

使用System.IO

我从不在我的代码中使用它,模块仍然在运行时加载。根据我对编译器工作原理的理解,这些代码在编译时被删除。事实上,在冷启动之前的程序处于低级语言格式(此时,它应该是机器语言)

我不打算这样做,但如果段落是正确的,我恐怕我可能误解了编译/语言翻译的基本概念。是这样的吗?

0 个答案:

没有答案