【问题标题】:n900 - maemo - timingn900 - maemo - 计时
【发布时间】:2011-06-12 17:52:48
【问题描述】:

我试图在 +- 100 毫秒内每秒保存一个文件(10% 错误)。我遇到的问题是我的计时测量表明执行需要 1150 毫秒,但实际上它似乎是 3 或 4 秒。

发生了什么事?

如果我发出命令 sleep(1),它似乎非常准确。但是,当我测量某件事花费了多长时间时,它肯定相差不少。

我正在使用clock() 来测量程序执行情况。所有这些东西都在一个while循环中。

沃尔特

【问题讨论】:

    标签: c++ maemo


    【解决方案1】:

    您的问题是clock() 报告您的进程使用的 CPU 时间,它通常与使用的“实际”时间不同。

    例如以下代码:

    #include <time.h>
    #include <iostream>
    #include <unistd.h>
    
    using namespace std;
    
    int main()
    {
            clock_t scl = clock();
            sleep(1);
            cout << "CPU clock time " << clock()-scl << endl;
    }
    

    给予

    time ./a.out 
    CPU clock time 0
    
    real    0m1.005s
    user    0m0.000s
    sys 0m0.004s
    

    【讨论】:

      猜你喜欢
      • 2010-12-27
      • 2011-06-14
      • 2011-06-02
      • 2011-01-01
      • 2011-12-15
      • 2014-03-02
      • 1970-01-01
      • 2010-12-27
      • 2010-11-10
      相关资源
      最近更新 更多