iphone - iPhone 上的快速平方根反比

标签 iphone performance optimization floating-point mathematical-optimization

SGI/3dfx 使用的快速平方反比函数(尤其是在 Quake 中)经常被认为比等效的汇编指令更快,但声称这一点的帖子似乎相当过时。我对它在更现代的硬件上的性能感到好奇,特别是在 iPhone 等移动设备上。如果 Quake sqrt 在桌面系统上不再是值得优化的,我不会感到惊讶,但对于涉及大量 3D 数学的 iPhone 项目呢?这是值得包含的东西吗?

最佳答案

没有。

NEON 指令集(与所有其他矢量 ISA* 一样)具有硬件近似倒数平方根指令,它比经常引用的“技巧”快得多。如果倒数平方根实际上是代码中的性能瓶颈,请使用它(一如既往,首先进行基准测试;如果没有确凿的证据表明其性能很重要,则不要花时间优化某些内容)。

您可以通过使用 vrsqrte.f32 编写自己的程序集(内联或其他方式)来获取它。指令,或者通过包含 <arm_neon.h> 来自 C、Objective-C 或 C++ header 并使用 vrsqrte_f32( )内在的。

[*] 在上交所是 rsqrtss/rsqrtps ;在 Altivec 上是 frsqrte/vrsqrte .

关于iphone - iPhone 上的快速平方根反比,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6666451/

相关文章:

string - 非增非减序列

iphone - UIKit:当 subview 增加其宽度超过屏幕边缘时,UIScrollView 自动滚动

iphone - 检查指定日期是今天、昨天还是将来的日期

iphone - 将现有 Drupal 页面与 PhoneGap iOS 应用程序连接

MySQL:额外的 id 列与性能

c++ - 有没有一种访问函数外信息的好方法?

ios - 在 objective-c 中更改应用程序扩展的屏幕旋转

c# - 小型集合中 linq 和 INTERSECT/EXCEPT 的低性能

java - 是否可以并行编译大型 Java 模块?

mysql - 为专用的 mariadb 服务器找到正确的配置——用于巨大的 innodb 表