假设我的项目中有一些课程。现在我创建另一个“类库”并将此类移到那里。因此,要实现此类,现在需要加载额外的dll(类库dll)。
我明白现在我有一点点另一个程序,因为现在.net需要读取两个文件(原始exe文件+类库dll文件)而不是一个exe文件。但除此之外有什么区别吗?加载程序后,这个类最初位于何处(exe或dll)很重要?我是否拥有完全相同的程序 in memory ?
特别是我很感兴趣,如果我可以在运行时将任何延迟移到类库中来引入?
此问题是我之前提问how to separate several "a little bit connected" projects?
的结果答案 0 :(得分:3)
将DLL加载到进程的内存空间后,与EXE项目中包含相同代码相比,性能应该没有差别。
事实上,通过在专用位置使用通用代码,您可能会看到长期性能提升。如果您倾向于将常用代码放入主项目中,那么最终可能会出现大量的代码重复,从而导致维护问题,并最终为更复杂的应用程序带来更大的内存占用量。)
答案 1 :(得分:2)
过早优化是万恶之源。 - 不要认为通过将所有代码放在一个程序集中来提高应用程序的性能。维护增益远比CLR将另一个文件加载到内存中更重要。