gpt4 book ai didi

Java-Android-IF语句中的进程时间(实时代码)

转载 作者:太空宇宙 更新时间:2023-11-03 10:21:23 26 4
gpt4 key购买 nike

我有 2 个条件相同的代码 fragment :

boolean A =true;
boolean B =true;

很简单。但是这两个代码中哪一个会更快,只有在这种情况下,而不是当其中一个为假时

第一个代码:

  if(A&&B){
doSomthing();
}

第二个代码:

if(A){
if(B){
doSomthing();
}}

记住:A 和 B 为真。

我只是修改和优化我的实时渲染代码,每一毫秒都可以在非常大的数组方面有很大的改进。

**我猜如果A=false,第二个代码会更快。但是如果 B=false 第一个会更快?

更多信息:在我的例子中,A 和 B 只是两个条件,例如:

(mNumber==5&&arr[j]!=19)

测试后结果: 条件:A=true; B=真;两个代码之间没有真正的区别(混合结果以纳秒为单位,类似的结果)

最佳答案

编译器很可能将它们变成相同的代码。即使在“实时”代码中,也不要根据您认为最快的方式编写此类代码;编写清晰的代码,如果您认为有问题,然后分析。

在这种情况下,if(a & b) 明显更清晰,所以使用它。 (如果编译器生成不同的代码,这也是更快的选择,因为只需要一次比较和跳转。请注意,这与 a && b 的规范处理不同。)

编辑:您似乎编辑了问题以将条件从 & 更改为 &&。当参数的计算成本很高时,短路是个好主意,但如果它们确实都是 boolean 值,AND 将它们放在一起几乎总是更便宜。

关于Java-Android-IF语句中的进程时间(实时代码),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20475901/

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