-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.在大多数人是一样 –