我正在为 Intel Atom 处理器开发基于 Android x86 的框架。我已经实现了整个框架,但是我的代码的 SIMD 实现遇到了问题。当我运行基本的 C 代码时,它在模拟器和硬件上提供了相当可观的性能,但是,当我为代码启用内在函数选项时,没有实际收益,但性能损失可以忽略不计。我已经在 Intel i7 处理器上运行了我的代码,大约有 200% 的增益。我当然会考虑 PC 和平板电脑使用的核心频率和数量,但当我在 Android 框架上启用 SIMD 代码时仍然应该有一些收益。到目前为止我分析过的可能问题:
1) 本地 C 标志(任何人都可以为英特尔凌动处理器建议合适的 C 标志)。
2)是否建议使用.so文件而不是框架中的源代码。
3) 适用于 Intel Atom 的 NDK,我使用的是 4.8。
4) 优化级别应设置为 O2 或 O3。
如果有任何其他原因可能会阻碍性能,请告诉我。先感谢您。