[英]Java operators performance arithmetic vs bitwise
在真正影響性能的重復算術運算中,按位運算符會對性能產生正面還是負面影響? 我嘗試使用Google進行搜索,但無法獲得確切的答案。
例如我應該使用這個:
int s = 15 << 4;
或這個:
int s = 15 * 16;
來提高我的應用程序的性能。
運算符優先級也與性能相關嗎?
在這種情況下,您可以使用其中任何一個。
兩者都是編譯時可評估的常量表達式,因此編譯器將執行該操作。 因此,運行時完全不會受到影響。
如果您設計了一個僅在運行時可評估的示例,那么很難說,但是如果您是我,無論如何我都相信編譯器。 始終對任務使用適當的運算符,以防止錯誤蔓延。您始終可以分析性能。
這段代碼
public class A {
public static void main(String[] args) {
int a = 15 << 4;
int b = 15 * 16;
}
}
編譯為
public static void main(java.lang.String[]);
Code:
0: sipush 240
3: istore_1
4: sipush 240
7: istore_2
8: return
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.