我在程序中有这样一段程序,给数组赋值,发现时间运行很长,(us级)
for(i=0;i<16,i++)
{
a[i] = 0;
}
非常的不理解为什么,我的时钟设置的确认是150m,验证其他的也没问题,就是不知道为什么这一块运行这么长时间。
我把上面的程序换成下面的来实现就很正常,
a[1] = 0;
a[2] = 0;
……..
a[15] = 0;
为什么会出现这样的情况呢。
Johnson Chen1:
其实你看一下反汇编就明白了,for语句的话,还是有很多的指令不停的在做循环,如果初始化的变量数量有限的话,直接赋值肯定是最快的。
我在程序中有这样一段程序,给数组赋值,发现时间运行很长,(us级)
for(i=0;i<16,i++)
{
a[i] = 0;
}
非常的不理解为什么,我的时钟设置的确认是150m,验证其他的也没问题,就是不知道为什么这一块运行这么长时间。
我把上面的程序换成下面的来实现就很正常,
a[1] = 0;
a[2] = 0;
……..
a[15] = 0;
为什么会出现这样的情况呢。
mangui zhang:
是的 for循环还是需要去执行的 直接初始化肯定是一次去搞定了
还有关于时间统计不知道你是通过什么方法统计的 CCS提供的工具不是很准确
TI中文支持网



