今天,一位同事提到他遇到了一个大型“企业框架”项目的问题,该项目在编译时的大小为5mb。令人担忧的是,要使用组件的一小部分功能,你必须引用整个事情,这是不好的。
我想知道在IIS上托管的网站部署中加载这么大的程序集是否有任何性能或其他缺点?
答案 0 :(得分:7)
第一次使用类型时,将加载程序集。从磁盘加载5MB确实有性能成本(尽管这并不是很大)。此外,程序集将在AppDomain的生命周期内保留在内存中,因此会有一些内存成本(同样,并不是很大)。
答案 1 :(得分:5)
不要使用轶事证据进行优化。获取一些硬数据,然后确定问题是否存在。
一般来说,我说它对我来说不是问题 - 但是我不会通过HTTP在不可靠的链接上,在内存不足的服务器上按需下载这些程序集 - 您的用例可能会有所不同。
答案 2 :(得分:4)
主要缺点是资源消耗;只要程序正在执行,.DLL就会保留在内存中。 5MB实际上并不是那么糟糕,但是......例如,System.dll就是3MB。