代码拉取完成,页面将自动刷新
通过NDK(JNI)测试android 平台中neon性能对比
测试代码仓库地址 https://gitee.com/chenjimcom/NeonTest
参考自 https://github.com/Lakers2005/test-neon
主要修改说明:
ndk {
abiFilters "armeabi-v7a"
}
……
ENABLE_LANGUAGE(ASM)
……
convert_asm.s
……
……
//模拟1920x1080的YUV数据
#define N (1920*1080*3)
……
/**
* C 版本测试函数
*/
void reference_convert(uint8_t *__restrict dest, uint8_t *__restrict src, int n)
……
/**
* 修改部分为ARM指令后的测试函数
*/
void neon_convert(uint8_t *__restrict dest, uint8_t *__restrict src, int n)
……
//纯ARM指令(汇编)版本函数
extern "C" void convert_asm_neon(uint8_t *dest, uint8_t *src, int n) __asm__("convert_asm_neon");
D/TEST_NEON: C version Time:22.684000ms
D/TEST_NEON: Neon version Time:13.888000ms
D/TEST_NEON: ASM version Time:0.986000ms
D/TEST_NEON: C version Time:21.759001ms
D/TEST_NEON: Neon version Time:13.948000ms
D/TEST_NEON: ASM version Time:0.641000ms
D/TEST_NEON: C version Time:21.688000ms
D/TEST_NEON: Neon version Time:13.920000ms
D/TEST_NEON: ASM version Time:0.656000ms
D/TEST_NEON: C version Time:21.735001ms
D/TEST_NEON: Neon version Time:13.958000ms
D/TEST_NEON: ASM version Time:0.945000ms
Neon相比C快1倍左右,ASM相比C快差不多20倍
备注:不同的CPU手机测试结果有一定差距,但ASM快很多倍是毋容置疑的。
https://github.com/Lakers2005/test-neon
https://www.cnblogs.com/welen/articles/5155946.html
https://blog.csdn.net/u011913612/article/details/82495309
[Google NDK示例中的neon]https://github.com/android/ndk-samples/tree/master/hello-neon
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。