【发布时间】:2016-02-16 15:55:30
【问题描述】:
本地或全局 (GAC / .NET) DLL 引用,它们有多贵?
当然,我们永远不应该引用我们不使用的东西,但出于好奇,我问:引用整个 .NET 框架会是一个很大的性能问题吗?
一个类似的更实际的问题是:是否值得在项目中组合类似的命名空间以最小化需要引用的 DLL 文件(只要我必须在任何情况下使用这些 DLL 中的每个代码)?
【问题讨论】:
-
除非您的应用程序对性能高度敏感(即您计算微秒)或您的内存严重受限,否则另一个 DLL 的性能成本将非常小。您最好按逻辑组织您的项目,而不必担心另一个 DLL 的成本。只有当测试表明特定的 DLL 引用正在影响性能时,才考虑解决分析器认为有问题的那些引用。
-
嗯,您从不引用 GAC 的任何内容。您正在强制编译器读取您添加的每个引用的元数据。文件 I/O 是编译器必须做的更昂贵的事情之一,但在带有 SSD 的现代机器上,往往隐藏得很好。团队成员不屑一顾的表情肯定是更实际的问题。
标签: c# .net vb.net dll dll-reference