【问题标题】:Is there a performance degradation when we ALWAYS use nullable value types instead of value types?当我们总是使用可空值类型而不是值类型时,性能是否会下降?
【发布时间】:2011-06-21 17:30:29
【问题描述】:

当我们总是使用可空值类型而不是值类型时,性能是否会下降?

【问题讨论】:

  • 溢出:不是你应该担心的。
  • 要指出,我敢打赌@MitchWheat 比你更了解这方面的知识,所以我会去听他的。 @MitchWheat ~ 你应该回答这个问题:p ...
  • 没有 IStackOverflowUser 实现也继承 StackOverflow 本身对性能的影响。

标签: c#


【解决方案1】:

正如Mitch Wheat 上面指出的那样,不,你不应该担心这个。我现在要给你一个简短的答案原因,稍后我会帮助你更多地了解你在问什么:

编写正确的代码。 写作之后分析,以便您找到导致您悲伤的要点。

当您的代码经常使用 Nullable 并且您有性能原因并且您对其进行分析并且您自己找不到问题时,然后来询问我们如何使其更快。但是不,使用 Nullable 的开销是出于所有意图和目的而不会降低性能。

进一步了解您的要求:

现在,在阅读了所有这些页面后,我希望你感到更加开明。

【讨论】:

  • 这是一个ul 无序列表-ol 有序列表是呃...有序(编号)你知道吗? ;)
  • 哦,facepalm,我第一次开始输入UL:p
  • 内存呢?由于obj.Value 不能作为引用类型(ref/in)传递,因此需要将值分配给新变量,这是否需要复制值类型而不是仅将其分配给普通类型开始?
【解决方案2】:

这是复制整个值类型的代价:整数、GUID 等几乎为零,但如果您不断复制 512 KB 的值类型(您不应该在第一名)在一个紧密的循环中。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-11-01
    • 2011-06-14
    • 2011-03-16
    • 2013-07-24
    • 2010-10-21
    • 1970-01-01
    相关资源
    最近更新 更多