我正在为iPhone构建一个库(speex,但我确定它也会应用到很多其他库),并且make脚本可以选择使用固定点而不是浮点。针对iPhone的编译优化:浮点还是固定点?
由于iphone ARM处理器具有VFP扩展并执行非常好的浮点计算,您是否认为使用固定点选项是更好的选择?
如果有人已经对此进行了基准测试并希望分享,我会非常感谢他。
我正在为iPhone构建一个库(speex,但我确定它也会应用到很多其他库),并且make脚本可以选择使用固定点而不是浮点。针对iPhone的编译优化:浮点还是固定点?
由于iphone ARM处理器具有VFP扩展并执行非常好的浮点计算,您是否认为使用固定点选项是更好的选择?
如果有人已经对此进行了基准测试并希望分享,我会非常感谢他。
嗯,这取决于你的应用程序的设置,这里是一些指导方针
如果您正在处理大量的连续数据,NEON绝对是您的选择。
浮动或固定,这是一个很好的问题。 NEON处理固定速度有点快,但我会保持原生输入格式,因为转换需要时间并最终需要额外的内存。
即使lib提供了不同的输出格式作为选项,它几乎总是意味着lib内部转换。所以我猜float在这种情况下是本地的。坚持下去。
没有人会阻止你微调优化算法。通常,算法越好,由于现代机器上的流水线操作,通过微优化可以获得更多的性能增益。
虽然我会远离内在的东西。网络上有太多的帖子抱怨内部人员做些疯狂的事情,特别是在处理即时值时。 它可能会变得非常麻烦,你也难以用内在函数优化任何东西。