0

假设我的项目中有一些课程。现在我创建另一个“类库”并将这个类移到那里。所以现在要实例化这个类,需要加载额外的 dll(类库 dll)。

我知道现在我有一点另一个程序,因为现在.net 需要读取两个文件(原始 exe 文件 + 类库 dll 文件),而不仅仅是一个 exe 文件。但除此之外还有什么不同吗?加载程序后,这个类最初的位置(exe 或 dll)是否重要?我会在内存中拥有完全相同的程序吗?

如果我可以在运行时将我的类移动到类库时引入任何延迟,我特别感兴趣?

这个问题是我之前的问题如何分离几个“有点连接”的项目的结果?

4

2 回答 2

3

将 DLL 加载到进程的内存空间后,与将相同代码包含在 EXE 项目中相比,性能应该没有差异。

事实上,从长远来看,通过将公共代码放在专用位置,您可能会看到性能提升。如果您倾向于将通用代码放入您的主要项目中,那么您最终可能会出现大量代码重复,从而导致维护问题,并最终导致更复杂的应用程序占用更大的内存)。

于 2012-05-27T17:30:37.577 回答
2

过早的优化是万恶之源。- 不要认为你可以通过将所有代码放在一个程序集中来提高应用程序的性能。维护收益远比 CLR 将另一个文件加载到内存中的额外命中更重要。

于 2012-05-27T17:33:17.297 回答