gpt4 book ai didi

c# - if(var == true) 是否比 if(var != false) 更快?

转载 作者:IT王子 更新时间:2023-10-29 04:31:43 26 4
gpt4 key购买 nike

很简单的问题。我知道这可能是一个微小的优化,但最终您会使用足够多的 if 语句来让它发挥作用。

编辑:感谢那些提供答案的人。

对于那些觉得有必要抨击我的人,要知道好奇心和对知识的渴望不会转化为愚蠢。

非常感谢所有提供建设性批评的人。直到现在我才知道陈述 if(var) 的能力。我很漂亮确定我现在会使用它。 ;)

最佳答案

首先:回答性能问题的唯一方法是衡量。亲自尝试一下,您就会发现。

至于编译器的作用:我提醒你“如果”只是一个条件转移。当你有

if (x)
Y();
else
Z();
Q();

编译器将其生成为:

evaluate x
branch to LABEL1 if result was false
call Y
branch to LABEL2
LABEL1:
call Z
LABEL2:
call Q

evaluate !x
branch to LABEL1 if result was true

取决于是否更容易生成代码以针对“x”恰好是什么得出“正常”或“反转”结果。例如,如果您有 if (a<=b)生成它可能更容易 (if !(a>b)) .或相反亦然;这取决于正在编译的确切代码的细节。

无论如何,我怀疑您还有更大的鱼要炸。如果您关心性能,使用分析器找到最慢的东西,然后修复它。当您可能在程序的其他地方浪费了整个毫秒时,担心纳秒级优化是毫无意义的。

关于c# - if(var == true) 是否比 if(var != false) 更快?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3818933/

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