1、环境配置:
(1)NDK的环境;
(2)ARM的CPU;
normal | neon | openMP |
---|---|---|
56 | 64 | 37(存在波动) |
测试实例1:normal,正常的测试一个求float类型的平方的一个例子;具体 如下:
void computeMap(float* in, float* out, int LEN){
TRACE_B();
for(int i=0 ;i<LEN;i++)
{
out[i]=in[i]in[i];
}
}
测试实例 2:neno方式的应用,通过对一个128位字节,一次计算4个float类型的平方的计算来加快计算;具体如下;
void computeNeno(float in, float* out, int LEN){
TRACE_B();
int end=LEN-LEN%4;
for(int i=0;i<end;i=i+4){
float32x4_t a = vld1q_f32(in+i);
a=vmulq_f32(a,a);
vst1q_f32(out+i,a);
}
for(int j=end;j<LEN;j++){
out[j]=in[j]<