4

可能重复:
未使用的方法和属性对库或可执行文件的影响

我正在开发一个项目,在该项目中我使用现有的应用程序进行开发,并根据项目要求进行定制。在定制的时候,我发现了很多在当前项目中没有用的函数和方法。我正在考虑保持该代码原样并仅在所需代码中进行自定义,但我不太确定这些无法访问的代码将在多大程度上影响我的应用程序的性能。我应该保持原样还是删除它们?

编辑:在我的应用程序中,DataInteraction 程序集包含 20 个方法,其中 2 个正在使用,其余的没有,但据我所知,如果调用程序集的任何方法,则将整个程序集加载到内存中,如果是,则比我感觉会影响性能。

4

4 回答 4

4

它只是增加了可执行文件的大小。如果不调用这些方法,它们就不是 JIT 的。

..你绝对应该考虑清理它们。它们的用途是什么?他们使代码膨胀并使代码库的使用变得更糟。

我也同意约翰的评论。

编辑:

回应关于未调用方法的评论:

ILSpy 中未使用的方法

答案是否定的,事实并非如此(为 Release 编译)。

于 2013-01-22T03:21:56.483 回答
1

当 Microsoft 发布 Visual Studio 2012 时,它们包含可以分析代码以帮助优化它的功能。一些重要的规则:

CA1804:删除未使用的本地变量。未使用的局部变量和不必要的赋值会增加程序集的大小并降低性能。

CA1809:避免过多的本地人。一种常见的性能优化是将值存储在处理器寄存器而不是内存中,这称为“注册值”。要增加注册所有局部变量的机会,请将局部变量的数量限制为 64。

优化您的代码(包括删除未使用的代码)是一件好事,但在您这样做之前总是有一个备份副本。一些未使用的代码将来可能会再次使用。看看你还能做些什么来优化你的代码以获得更好的性能。访问以下链接

http://msdn.microsoft.com/en-us/library/ms182260.aspx

http://msdn.microsoft.com/en-us/library/dd380629.aspx

http://msdn.microsoft.com/en-us/library/ms182125.aspx

http://msdn.microsoft.com/en-us/library/ms182324.aspx

于 2013-01-22T03:56:28.030 回答
1

未使用的代码对性能的影响很小。然而,对可维护性的影响是另一个话题。应首先管理代码的可维护性、可读性和可理解性。如果代码没有被使用并且不太可能被使用,那么将其删除,因为它会减少所有这三个措施。

在您知道存在问题的时间和地点解决性能问题,因为您可以衡量它们。

于 2013-01-22T03:26:12.773 回答
0

这篇文章应该回答你的问题。编译器应该忽略任何未使用的 using 语句。即使您正在使用命名空间的一部分,因此它在编译期间使用它只会将其复制进去,并且只会影响您的 lib/exe 的大小而不是性能。

于 2013-01-22T03:25:36.843 回答