0

当我对在 Microblaze 上运行的代码进行一些修改时,我有时会发现运行时会出现很大的差异,以执行遵循相同路径的代码。为了说明,我所说的相同路径的真正含义,举这个例子,

if ( condition )
 execute_this();
else
 execute_that(); // Modified this function

所以说如果我修改了 function 的代码,execute_that即使condition设置了并且 functionexecute_this没有被修改,我也会看到运行时的变化。什么会导致这种情况?函数的内存对齐?缓存?有什么线索吗?

4

1 回答 1

0

仅当您更改其他功能时,时间才会改变,还是它是可变的?

你在运行操作系统吗?其他任务会抢先你的任务吗?

中断是否在运行?函数期间的中断将改变运行时间。

而且,是的,缓存效应可能会导致这种情况。

于 2011-07-21T14:58:52.493 回答