gpt4 book ai didi

c# - 通过第二个对象引用一个对象还是保留本地副本?

转载 作者:太空宇宙 更新时间:2023-11-03 13:20:57 24 4
gpt4 key购买 nike

我正在使用 C# 开发游戏,想知道每一帧都像这样引用对象的性能:

object1.object2.object3

或者我应该在本地保留对 object3 的引用吗?有明显的速度差异吗?

谢谢!

最佳答案

对某些人来说重要的事情可能对其他人来说无关紧要。拥有更多的对象取消引用操作肯定会花费更多,但这可能无关紧要。我假设它确实如此:

进行加法取消引用操作有两个成本:

  1. 如果 object2 所在的缓存行不存在,则必须从内存中获取。如果它可能已经存在,则此成本为零。
  2. 如果我们获得了指向它的指针,我们只能加载 object3 的缓存行。因此,一系列取消引用操作强制顺序执行并防止乱序执行(在一定程度上)。 OOO 执行是现代 CPU 变得越来越快但时钟速率却没有变快的一个重要部分。

如果您对这些成本有多大没有直观的了解,您别无选择,只能进行衡量。

关于c# - 通过第二个对象引用一个对象还是保留本地副本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24223989/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com