armv7-a上的定点数学运算速度是否比浮点数快?

时间:2014-08-17 16:18:14

标签: floating-point compiler-optimization neon armv7 fixed-point

像libfixmath这样的库是否比arm FP和NEON表现更好,或者现有的FP hw没有固定点的增益?

我正在考虑将我的代码中的float的所有实例转换为定点C ++类(类似于libfixmath),以便在运行时优化Cortex-A9上运行的算法。问题是某人是否有这方面的经验。

在Intel-i5和ARM-Cortex-A9上的几个定点实现的当前结果并没有显示定点浮点HW的任何改进。

1 个答案:

答案 0 :(得分:1)

通常,fixed比float快得多,因为:

  • 整数指令需要更少的周期
  • 延迟要低得多
  • 无需转换

但是,如果你正在处理32位源数据,因此需要64位数学,你可能会更好地使用float,因为长整数运算需要更多的周期,寄存器和指令。

它取决于源/目标数据类型:当它们都是整数时,固定要好得多。如果没有,坚持浮动。