当我在Microblaze上运行的代码中进行一些修改时,我有时会发现运行时存在很大的差异,因为执行遵循相同路径的代码。为了说明,我的意思是相同的路径,采取这个例子,
if ( condition )
execute_this();
else
execute_that(); // Modified this function
所以说如果我修改了函数execute_that
的代码,即使设置了condition
并且函数execute_this
没有被修改,我也会看到运行时的变化。是什么导致这个?内存对齐功能?缓存?任何线索?
答案 0 :(得分:0)
更改其他功能时,仅时间是否会发生变化,或者它是否可变?
你在运行操作系统吗?其他任务可以先发制人吗?
中断是否正在运行?函数中的中断将改变运行时。
而且,是的,缓存效果可以导致这种情况。