浮点与整数计算:现代硬件中的性能考虑因素
关于浮点或整数计算是否在现代硬件上提供更好性能的争论硬件已经持续多年。在计算的早期,由于缺乏专用的浮点处理器,浮点运算明显慢于整数运算。因此,使用整数近似值执行浮点计算是常见的做法,即使对于本质上涉及浮点值的问题也是如此。
然而,今天,随着功能强大的多核 CPU 和专用浮点的出现单位,浮点和整数计算之间的性能差距已显着缩小。虽然整数计算在某些特殊场景(例如低级位操作)中可能仍然具有优势,但对于大多数应用程序来说,性能差异可以忽略不计。
为了说明这一点,请考虑在几个现代 CPU 上运行的以下基准测试:
CPU | Type | Add/Subtract | Multiply/Divide |
---|---|---|---|
Intel Xeon X5550 @ 2.67GHz | short | 1.005460 | 3.926543 |
AMD Opteron(tm) Processor 265 @ 1.81GHz | short | 0.553863 | 12.509163 |
Intel Xeon X5550 @ 2.67GHz | float | 0.993583 | 1.821565 |
AMD Opteron(tm) Processor 265 @ 1.81GHz | float | 2.688253 | 4.683886 |
可以看出,浮点运算的性能与整数运算相当。事实上,对于某些运算,例如加法和减法,浮点计算甚至可能会稍微快一些。
因此,除非有令人信服的理由使用整数近似值,否则通常建议使用浮点计算对于本质上涉及浮点值的问题。浮点计算比整数近似值更准确,并且提供更广泛的值。此外,它们更易于实施和维护,这可以带来显着的生产力优势。
以上是浮点型和整数型:现代 CPU 中哪个性能更好?的详细内容。更多信息请关注PHP中文网其他相关文章!