Sup*_*tar 2 java performance boolean
这看起来不像重复,因为只有一个我的解决方案涉及一个分支.
基本上,这两条线中哪一条更有效率?将是一个Java应用程序,但很高兴知道一般的答案.
shouldRefresh = useCache ? refetchIfExpired : true;
shouldRefresh = !useCache || refetchIfExpired;
Run Code Online (Sandbox Code Playgroud)
JIT编译器将找出最快的操作并使用它.使用最有意义的东西来阅读.不要过早优化.
为了感兴趣:如果在没有优化的情况下编译它,那么布尔运算符会更快.这是一个简单的数学运算,它只需要一个CPU周期(对于!
运算符而言只需另一个),而三元表达式需要一个分支,如果分支预测猜错,则会中断管道.