【发布时间】:2012-12-12 19:30:28
【问题描述】:
我正在编写一个 3D 碰撞,并且想知道基本数学函数的性能差异,例如 + - * / sqrt pwr trigonometry like sin cos tan arcsin..
我听说这取决于许多其他因素,所以我只是想大致了解哪个更慢并且需要避免,同时寻找解决问题的不同方法。我也想知道差异的顺序和大小
谢谢
编辑:我用 VC++ 为 x86 编写。但是其他架构和总体情况的知识也很好。主要是我在单浮点中计算实时应用。
问题是有些算法需要sqrt,或者三角函数,但是我可以通过其他方法绕过它们。每个人都有自己的进步,我想知道是否足以进行权衡。我想要一个通用知识来解决我自己的问题,做了一个谷歌但一无所获,所以请回答一下
【问题讨论】:
-
为什么不自己进行基准测试呢?编写程序来执行您想要基准测试的任何运算符/功能,并让它打印出所花费的时间。
-
真的取决于一百万个东西,目标cpu是什么?什么编译器?定点还是浮点?什么计算,因为有些会被优化成完全不同的东西等等。
-
把你的算法草拟一下,当你遇到问题时提出问题,我们都会从输入中受益。
-
@code-gijoe: 不,这个很好的常识。这是一个很好的问题,应该投票而不是关闭。
-
@Postpi,我投票支持这个人。
标签: c++ performance math floating-point