一个数组里面不是0就是1,我要将它们全置1
下面两个方案哪一个更快一些。
方案1
for (i=0;i<n;i++)
data[i]=1;
方案2
for (i=0;i<n;i++)
if (data[i]==0)
data[i]=1;
一般是直接赋值快,比较还会有跳转,流水线和缓存不中断,速度自然上去了。
还是太年轻了,mark下。
只针对char型数组初始化一般使用:
memset(data,1,n); |
一个数组里面不是0就是1,我要将它们全置1
下面两个方案哪一个更快一些。
方案1
for (i=0;i<n;i++)
data[i]=1;
方案2
for (i=0;i<n;i++)
if (data[i]==0)
data[i]=1;
一般是直接赋值快,比较还会有跳转,流水线和缓存不中断,速度自然上去了。
还是太年轻了,mark下。
只针对char型数组初始化一般使用:
memset(data,1,n); |