C#。缩短标识符名称是否会提高应用程序的整体运行时性能?

时间:2011-07-13 12:29:45

标签: c# performance runtime obfuscation

缩短标识符名称使得生成的可执行文件的大小更小,因为MSIL代码包括除局部变量之外的所有这些名称。它是否会影响在.NET运行时中以良好的方式执行代码,至少在理论上是这样?本机机器代码不包括所有这些名称,但它与.NET运行时互操作。所以我想知道是否有必要混淆(即缩短标识符名称)MSIL代码,以便至少增加应用程序的运行时性能。

我对此声明感到惊讶:“Dotfuscator提高了运行时性能。通过删除不需要的程序元素并将标识符重命名为小名称,Dotfuscator实际上可以加速程序。” http://msdn.microsoft.com/en-us/library/ms227226.aspx

2 个答案:

答案 0 :(得分:4)

标识符名称被编译器/抖动丢弃,因此这不会有任何区别。

答案 1 :(得分:2)

第一次运行应用程序时,MSIL被编译为该平台的机器代码 - 之后执行机器代码。所以从理论上讲,我认为第一次编译可能会受到影响,但是在机器编译完成后,不使用这些名称的最终机器代码执行时间不会改变。