gpt4 book ai didi

c++ - 与零进行比较是否比与任何其他数字进行比较更快?

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:11:08 25 4
gpt4 key购买 nike

if(!test)

if(test==-1)

我可以生产装配,但生产的装配太多,我永远找不到我想要的细节。我希望有人知道答案。我猜想它们是相同的,除非大多数 CPU 架构都有某种“比较为零”的捷径。

感谢您的帮助。

最佳答案

通常,是的。在典型的处理器中,针对零测试或测试符号(负/正)是简单的条件代码检查。这意味着指令可以重新排序以省略测试指令。在伪汇编中,考虑这个:

Loop:
LOADCC r1, test // load test into register 1, and set condition codes
BCZS Loop // If zero was set, go to Loop

现在考虑针对 1 进行测试:

Loop:
LOAD r1, test // load test into register 1
SUBT r1, 1 // Subtract Test instruction, with destination suppressed
BCNE Loop // If not equal to 1, go to Loop

现在是通常的预优化免责声明:您的程序是否太慢?不优化,分析它。

关于c++ - 与零进行比较是否比与任何其他数字进行比较更快?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22466117/

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