C# 通过第二个对象引用对象还是保留本地副本?
我正在用C#开发一个游戏,我想知道每一帧像这样引用对象的性能:C# 通过第二个对象引用对象还是保留本地副本?,c#,performance,reference,C#,Performance,Reference,我正在用C#开发一个游戏,我想知道每一帧像这样引用对象的性能: object1.object2.object3 还是应该在本地保留对object3的引用?有没有明显的速度差异 谢谢 对某人重要的东西对其他人可能无关紧要。拥有更多的对象解引用操作肯定会花费更多,但这可能并不重要。我假设它是: 进行加法解引用操作有两个成本: 如果object2所在的缓存线不存在,则必须从内存中提取该缓存线。如果可能已经存在,则该成本为零 如果获得了指向object3的指针,则只能加载该缓存线。因此,解引用操作链强
object1.object2.object3
还是应该在本地保留对object3的引用?有没有明显的速度差异
谢谢 对某人重要的东西对其他人可能无关紧要。拥有更多的对象解引用操作肯定会花费更多,但这可能并不重要。我假设它是: 进行加法解引用操作有两个成本:
object2
所在的缓存线不存在,则必须从内存中提取该缓存线。如果可能已经存在,则该成本为零object3
的指针,则只能加载该缓存线。因此,解引用操作链强制顺序执行,并在一定程度上防止无序执行。OOO执行是为什么现代CPU速度越来越快的一个重要部分,尽管时钟频率没有如果您不能直观地了解这些成本有多大,那么您别无选择,只能进行测量。在本地保留对object3的引用肯定会提高性能。这取决于很多因素。。。您应该在您的上下文中分析这两个。具体取决于呼叫的数量。在这种情况下,我通常更喜欢会员。了解更多信息。您有支持这一点的度量吗?