【问题标题】:Does using namespaces affect performance or compile time?使用命名空间会影响性能或编译时间吗?
【发布时间】:2011-07-21 10:27:07
【问题描述】:

如果我将一个项目的所有类放在同一个命名空间中,则所有类在项目中的任何地方都可用。但是,如果我使用不同的名称空间,则并非所有类都随处可用。我有一个限制。

使用命名空间会以某种方式影响编译时间吗?由于编译器在每个命名空间中的类较少,并且并非一直使用所有命名空间,因此他在找到正确的类时可能会少一些麻烦。

使用命名空间会影响应用程序的性能吗?

【问题讨论】:

  • 您应该根据自己的逻辑和易于阅读的方式使用命名空间,而不是出于性能问题。
  • @Luis Filipe:不,命名空间不适用于分类。它们的存在是为了防止名称冲突。

标签: c# .net


【解决方案1】:

不会影响执行时性能。

它可能会影响编译时性能,但我怀疑它是否会很重要,我什至不想预测它会以何种方式影响它。 (你有编译时间长的问题吗?如果是这样,你可能想尝试一下,然后测量差异......否则你真的不知道效果。如果你没有问题,它没有'没关系。)

【讨论】:

  • 如果您不关心硬实时(亚毫秒级性能),您不必担心这一点。对人类响应时间的影响很小。我会补充说,围绕“使用命名空间”进行编码可能会导致更难阅读的代码,这可能会产生自己的成本。还要记住收益递减规律......你真正需要走多快,这个核心速度会成为你的瓶颈吗?如果它是一个网络应用程序......可能不是,所以不用担心。
【解决方案2】:

您应该根据自己的逻辑和易于阅读的方式使用命名空间,而不是出于性能问题。

【讨论】:

    【解决方案3】:

    我很确定,将类放在命名空间中不会显着影响编译时间。

    但请注意,如果将每个类都放在同一个命名空间中,您可能会丢失逻辑项目结构。

    我(和 Resharper)建议使用与文件位置(与项目结构相对应)相对应的命名空间。

    【讨论】:

    • 命名空间不用于分类,它们用于防止名称冲突。
    猜你喜欢
    • 2011-05-21
    • 2016-06-06
    • 2011-11-11
    • 1970-01-01
    • 2011-01-05
    • 1970-01-01
    • 1970-01-01
    • 2011-02-25
    • 1970-01-01
    相关资源
    最近更新 更多