首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >n900 - maemo -计时

n900 - maemo -计时
EN

Stack Overflow用户
提问于 2011-01-21 04:39:01
回答 1查看 96关注 0票数 2

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

到底怎么回事?

如果我发出命令sleep(1),它看起来非常准确。然而,当我测量一件事花了多长时间时,它肯定会偏离很远。

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

沃尔特

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-01-21 04:42:37

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

例如下面的代码:

代码语言:javascript
复制
#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;
}

给出

代码语言:javascript
复制
time ./a.out 
CPU clock time 0

real    0m1.005s
user    0m0.000s
sys 0m0.004s
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4752306

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档