Le *_*Duc 7 c++ math floating-point performance
我正在写一个3D碰撞,并想知道基本数学函数的性能差异,如+ - */sqrt pwr三角函数,如sin cos tan arcsin ..
我听说这取决于许多其他事情,所以我只是想大致了解哪一个更慢,需要避免,同时找到解决问题的不同方法.另外,我想知道差异的顺序和大小
谢谢
编辑:我在VC++中为x86编写.但是其他架构和总体情况的知识也很好.主要是我在单个浮点计算实时应用.
问题是一些算法需要sqrt或三角函数,但我可以通过其他方法绕过它们.每个人都有自己的进步,我想知道足以做出权衡.我想要一般知识来解决我自己的问题,做了一个谷歌,但没有找到任何所以请让它回答
讲得非常广泛,并概括了最近的常见硬件:
sin,cos,exp,log,等)变化显著取决于你使用的是什么数学库的实现和在什么硬件.在(比方说)电流i7上,每隔约20个周期的操作和每~200个周期的操作之间的某种情况是典型的,这取决于实现的质量和被调用的特定功能.大概的想法:+, -<<<<*/sqrtsin, cos, etc
附言。在最新的英特尔架构上:
ADDSD/SUBSD - 3 个周期延迟,1 个周期吞吐量
MULSD - 6-7 个周期延迟,2 个周期吞吐量
DIVSD - 38-39 个周期延迟,38-39 个周期吞吐量
| 归档时间: |
|
| 查看次数: |
1799 次 |
| 最近记录: |