代码之家  ›  专栏  ›  技术社区  ›  MartyIX

在没有必要使用的情况下,编译的性能下降有多大?

  •  0
  • MartyIX  · 技术社区  · 14 年前

    我只是好奇代码中不必要的使用是否会减慢visualstudio解决方案的编译速度。随着时间的推移,在我的代码中会有新的用法,因为当一些特性被添加、重新实现甚至有时被删除时,代码会发生变化。

    我是不是应该关心使用的次数?如何删除不必要的using?

    (如果这个问题应该是一个社区wiki问题,请在评论中告诉我,我会更改它)

    5 回复  |  直到 14 年前
        1
  •  2
  •   blueling    14 年前

    如果您使用的是VS2008/2010:只需右键单击usings并选择“organizeusings”->从上下文菜单中删除并排序。编译可能会变得快一点,但我想在大多数情况下,这是不明显的。

        2
  •  1
  •   user403670 user403670    14 年前

    using语句被翻译成“try finally”,所以您不会看到任何性能问题。

        3
  •  1
  •   The Mirage    14 年前

    它们对应用程序的性能没有影响。有趣的是前几天我自己也调查过。ScottGu和Hanselman都在过去发布过这篇文章。有几个链接。

    减少使用可能会加快编译速度,特别是在C#3.0中,但不会对性能产生任何影响。 另外,过度使用语句会使Intellisense和ReSharper变得混乱。

        4
  •  1
  •   Jesus Ramos    14 年前

        5
  •  1
  •   Doc Brown    14 年前

    也许你怀疑 using #include 在C或C++中,后者可能会有明显的编译速度下降。事实并非如此。A 使用

    System.Collections.Generic.List<T>
    

    当你在课堂上20次需要一个通用列表时。不是那个

    using System.Collections.Generic;
    

    var x = new List<int>();
    

    或者(如果你愿意)

    var x = new System.Collections.Generic.List<int>();
    

    值得注意的 值得注意的 使用