0
A
回答
1
在大多數現代處理器上,它不會有任何區別。
這通常被編譯爲一個比較指令,該指令設置某些標誌,然後跳轉到某些標誌的組合上。關係運營商之間通常沒有時間差異。
有些優化可能會忽略分支跳轉,但是不可能知道哪個運算符會更高性能,如果有的話。它可能取決於上下文。
當然,如果您確實想知道,您必須進行一些測試運行和/或剖析代碼。
1
假設硬件,一個版本:(!x = - 1)
cmp %r1, -1
jeq addr
同樣假設硬件,版本二:(x> 0)
cmp %r1, 0
jle addr
,除非我們知道確切的harware,我們不能說,但通常期望他們是相同或相似的
無論哪種方式,我會建議最明確表達意圖的版本。
+0
確實,特別是從語義上來說,'!= -1'與'> 0'不一樣。 – 2014-10-28 09:12:02
相關問題
- 1. 鑽石操作員性能
- 2. 操作員新操作員和新操作員不能重載?
- 3. 循環內循環性能
- 4. R循環的數據操作和性能
- 5. FOR循環中的性能
- 6. 循環和操作
- 7. C程序設計 - 逗號中的操作員而循環
- 8. C++性能和操作員實例
- 9. node.js:嵌套for循環,字符串操作性能不佳
- 10. Javascript循環性能
- 11. 一個循環中的兩個操作與兩個循環每個循環執行相同的操作
- 12. 操作系統中的循環算法
- 13. C中for循環的操作順序
- 14. for循環中的字符串操作
- 15. 預期腳本中的循環操作
- 16. 如何更改操作員' - '的智能操作員行爲?
- 17. R操作無for循環
- 18. Lua日期操作循環
- 19. 循環內IO操作
- 20. ==操作符()循環永遠
- 21. 的Java for循環性能
- 22. jQuery的循環性能
- 23. 的JavaScript循環性能
- 24. select子句中的子查詢vs應用操作員性能
- 25. 在python中用循環操作指定循環
- 26. 在循環中操作四個數組
- 27. 在php for循環中操作樣式
- 28. 從循環操作中派生值
- 29. 在Javascript循環中操作PHP變量
- 30. for循環中的性能問題?
當你嘗試它時,結果是什麼? – 2014-10-28 09:02:32
@TimCastelijns我沒有嘗試過,但我沒有找到任何建設性的東西。 – 2014-10-28 09:03:48
可能是因爲沒有考慮到特定的系統來討論程序速度是沒有意義的。 – Lundin 2014-10-28 09:14:55