我正在使用名为i.MX515的基于ARM Cortex-A8的处理器。有Linux Ubuntu 9.10发行版。我正在运行一个用C编写的非常大的应用程序,并且正在使用gettimeofday();函数来衡量应用程序花费的时间。
main()
{
gettimeofday(start);
....
....
....
gettimeofday(end);
}
该方法足以查看我的应用程序的哪些块花费了多少时间。但是,现在,我正在尝试通过计算时间的gettimeofday()方法来彻底优化我的代码,我发现连续运行之间(在优化前后运行)之间有很大的波动,所以我无法确定实际的执行时间,从而确定改进的影响。
谁能建议我该怎么办?
如果通过访问循环计数器(ARM网站上的Cortex-M3上的Idea建议)可以使我指向一些代码,该代码为我提供了访问Cortex-A8上的定时器寄存器所必须遵循的步骤?
如果此方法不太准确,请提出一些替代方案。
谢谢
慕标琳琳
相关分类