函数调用耗时的连续减少for循环

时间:2017-04-25 04:35:00

标签: objective-c

for(int i = 0; i < 20; i++) {
    double start = CFAbsoluteTimeGetCurrent();
    iRet = func_detect(hDetect, &pImage_t, &pDetectResult, &pCount);
    iRet = func_align(hAlign, &pImage_t, &pDetectResult[0].rect, 1, &pLandMark);
    double end = CFAbsoluteTimeGetCurrent();
    NSLog(@"Time consuming:%lf",(end - start)*1000);
}
NSLog(@"end with pCount:%d", pCount);

结果:

我在for循环中调用C语言函数,并且耗时连续减少。 第一次很长,然后每次通话都会减少,最终稳定在很小的范围内。 怎么解释呢? 任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)

不看func_detectfunc_align,我只能假设以下内容:

  1. 数据集在第4次迭代中被时间循环减少。
  2. 操作系统和/或处理器正在引入某种运行时优化。