【发布时间】:2011-09-29 11:54:34
【问题描述】:
我正在为 Android 开发一个本地库,我在其中使用 ARM 程序集优化和多线程,以便在双核 ARM 芯片组 MSM8660 上获得最佳性能。在进行一些测量时,我注意到以下几点:
- 具有 NEON 优化的 单线程 库比具有 的 单线程 库更快 >ARMv6 优化(如预期)。
- 带有 ARMv6 优化的 多线程 库比带有 单线程 库更快 >ARMv6 优化(如预期)。
- 具有 NEON 优化的 多线程 库比具有 单线程 库的 慢 >NEON 优化(绝对不是预期的!)。
我已经尝试在整个网络上搜索以解释为什么会这样,但到目前为止还没有找到任何解释。似乎所有内核都共享相同的 NEON 管道或类似的东西,但所有示意图似乎都表明每个内核都应该有自己的 NEON 单元。有谁知道为什么会这样?
【问题讨论】:
标签: performance assembly arm multicore neon