gpt4 book ai didi

java - if(a&&b) 是否应该比 if(a) if(b) 花费更多时间?

转载 作者:行者123 更新时间:2023-12-01 16:59:13 25 4
gpt4 key购买 nike

我使用以下简单的逻辑来回答 question就像这个:

1:   if(a)        // 1 operation
2: if (b) // 1 operation

1:  if(a && b) // 1, 1(&&), 1 => 3 operations. 

因此,是 2 个操作与 3 个操作,但在第一个示例中,编译器需要调用另一条指令来执行。

这个逻辑是真的吗?它取决于编译器吗?调用像 ; 这样的空指令是否会花费编译器一些明显的时间?

This 也讨论同样的问题但不考虑这个逻辑。请帮助我们澄清这个问题。

最佳答案

有两种方法可以准确地回答这样的问题:

1.) 查看 IL 代码(和/或)汇编代码生成并计算执行此代码所需的 CPU 周期(提示:这不适合初学者)

2.) 构建一个小型测试程序,大量执行这两种变体,使用 StopWatch() 创建有用且可读的计时输出,运行多次。

3.) 推测你认为编译器的优化步骤能够做什么以及这个软件会做什么,与其他人争论几个小时

关于java - if(a&&b) 是否应该比 if(a) if(b) 花费更多时间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29033373/

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