有必要使用函数实时处理大量数字(~1 Mb),例如void processData(char* data)
.
在目标平台上运行了以下测试:
int j = 10;
while(j--)
processData(dataPtr);
每次使用相同的数据。它显示了以下结果:
- 第一次运行大约需要 22.5 毫秒
- 第二次运行和其他运行大约需要 12.5 毫秒
在我看来,这可能是由于第二次运行时数据已经在处理器缓存中,因此它的工作速度要快得多。
问题:在实际情况下,数据每次都会不同。
有什么方法可以对数据进行某种“预加载”以进行缓存?