69,324
社区成员
发帖
与我相关
我的任务
分享
//原始
sum = 0;
for (i = 0; i<1000;i++)
{
sum += array[i];
}
//减少代码的数据相关
t1 = t2 = t3 = t4 =0;
for (i=0; i<1000; i+=4)
{
t1 += array[i];
t2 += array[i+1];
t3 += array[i+2];
t4 += array[i+3];
}
sum = t1 + t2 + t3 + t4;
//这样子,很好
short arraysrc[W] = {0};
short arraydst[W] = {0};
short *psrc = arraysrc, *ptar = arraysrc;
short *psrc_end1 = arraysrc + W - 4;
short *psrc_end2 = arraysrc + W;
short temp;
while (psrc < psrc_end1)
{
if((temp = *psrc++) != 0)
{
*ptar++ = temp;
}
if((temp = *psrc++) != 0)
{
*ptar++ = temp;
}
if((temp = *psrc++) != 0)
{
*ptar++ = temp;
}
if((temp = *psrc++) != 0)
{
*ptar++ = temp;
}
}
while (psrc < psrc_end2)
{
if((temp = *psrc++) != 0)
{
*ptar++ = temp;
}
}
short arraysrc[W] = {0};
short arraydst[W] = {0};
short *psrc = arraysrc, *ptar = arraytar;
short *psrc_end = arraysrc + W;
short temp;
while (psrc != psrc_end)
{
if((temp = *psrc++) != 0)
{
*ptar++ = temp;
}
}
short arraysrc[W] = {0};
short arraydst[W] = {0};
short *psrc = arraysrc, *ptar = arraytar;
short *psrc_end = arraysrc + W;
short temp;
while (psrc != psrc_end)
{
if((temp = *psrc++) != 0)
{
*ptar++ = temp;
}
}
short arraysrc[W] = {0};
short arraydst[W] = {0};
short *psrc = arraysrc, *ptar = arraysrc;
short *psrc_end = arraysrc + W;
short temp;
while (psrc != psrc_end)
{
if((temp = *psrc++) != 0)
{
*ptar++ = temp;
}
}
for(int i=0; i<W;i++)
{
arr[i]++;
}
int i;
int n = W-4;
for(i = 0; i < n;i += 4)
{
arr[i]++;
arr[i+1]++;
arr[i+2]++;
arr[i+3]++;
}
for(;i<W;i++)
{
arr[i]++;
}
short arraysrc[W] = {0};
short arraydst[W] = {0};
short *psrc = arraysrc, *ptar = arraysrc;
short temp;
int i = 0;
for(i=0; i<W; i++)
{
if((temp = *psrc++) != 0)
{
*ptar++ = temp;
}
}