当我对在Microblaze上运行的代码进行一些修改时,我有时会看到遵循相同路径的代码的执行在运行时出现很大的差异。为了说明我所说的相同路径的真正含义,以
为例if ( condition )
execute_this();
else
execute_that(); // Modified this function
所以说如果我修改了函数execute_that
的代码,即使设置了condition
而函数execute_this
没有修改,我也会看到运行时的变化。是什么导致的呢?函数的内存对齐?缓存吗?有线索吗?
当您更改其他函数时,计时是否仅改变,或者它是可变的?
您正在运行操作系统吗?是否有其他任务可以取代你的任务?
中断正在运行吗?函数期间的中断将改变运行时。
是的,缓存效果可能导致。