gpt4 book ai didi

c - 我应该减少设置变量吗

转载 作者:行者123 更新时间:2023-11-30 15:06:26 25 4
gpt4 key购买 nike

我有 2 个 C++ 代码:

代码1:减少赋值变量

While(alive)
{
if(health < healthMax) health = healthMax;
}

代码2:不减少赋值变量

While(alive)
{
health = healthMax;
}

我不知道set和get是如何工作的,但我个人认为set会改变/写入内存上的数据,并且只获取读取内存,所以最好是get和reduce set - 这就是为什么我更喜欢代码1现在还有更多。我这样想对吗?

感谢您的阅读:)

最佳答案

没有。该赋值有望编译为寄存器之间的移动,这比条件分支更便宜。

如果 health 是全局的,您可能需要手动将存储下沉到循环之外的全局,但即使每次迭代都存储也不算太糟糕。重复存储到同一内存位置的成本很低,因为它们会命中 L1 缓存。您预计每个时钟的吞吐量约为 1,而不会占用其他内核的内存带宽。

由于您将其标记为程序集,请参阅 tag wiki 链接到该平台的性能详细信息,尤其是 Agner Fog 的东西。许多概念对于其他架构来说是相似的。

关于c - 我应该减少设置变量吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38990923/

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