-11
Q
算術運算時間用C
A
回答
4
在帶有「常規」編譯器的「常規」CPU上,根據原則,它們將採用完全相同的時間(通常,兩個原始大小的寄存器之間的add
採用相同的時間,而不考慮操作數值) 。
OTOH在現代CPU上很難測量指令所花費的時間,因爲實際的吞吐量在很大程度上取決於管道的狀態,如果存在數據依賴性,如果分支預測器正確猜測和什麼。所以,如果出於某種奇怪的原因,操作具有某種數據相關的(比如,中a
值在條件語句改變),或者 - 上帝保佑它 - 必須從存儲器中取出(=>進入高速緩存機械)是一個完全不同的遊戲,唯一安全的選擇就是衡量它。
但最可能的是,這兩個操作將採取嚴格爲零的時間;任何啓用了優化的現代編譯器都會執行常量傳播和表達式摺疊,因此輸出可執行文件只會將操作的結果嵌入發送的指令中作爲立即值。
相關問題
- 1. R中的時間戳算術運算
- 2. C#中的算術運算
- 3. 算術運算的比例處理時間[C]
- 4. 算術運算
- 5. 算術運算
- 6. 算術運算
- 7. 算術運算
- 8. 算術運算
- 9. PHP時間算術
- 10. CSH算術運算
- 11. BCD算術運算
- 12. 算術運算符
- 13. 變量之間的算術運算
- 14. 對數組中的算術運算C
- 15. 如果運算符爲C++算術
- 16. 在C++中的算術運算
- 17. C++算術運算符錯誤
- 18. C編程!算術運算符操作
- 19. Math.random()運行的時間與簡單算術運算的時間相比如何?
- 20. 時間算術計算錯誤
- 21. 算術溢出與算術運
- 22. IndexedDB中的算術運算
- 23. 位運算符算術
- 24. 動態算術運算符
- 25. 計數算術運算
- 26. 算術運算的JavaScript
- 27. 無效的算術運算
- 28. 推廣算術運算符
- 29. 二進制算術運算
- 30. PHP算術運算(加法)
你應該已經談到這裏代碼的複雜性,而不是執行時間!在完美(無偏)的環境中,兩者都是O(1)。 –
恕我直言,雙方將導致相同的彙編指令,64位CPU可以在同一時間,我會承擔添加任何64位數字。 –
16位架構或更低,將會快於2.在大多數人是一樣 –