相关疑难解决方法(0)

'real','user'和'sys'在time(1)的输出中意味着什么?

$ time foo
real        0m0.003s
user        0m0.000s
sys         0m0.004s
$
Run Code Online (Sandbox Code Playgroud)

"真实","用户"和"系统"在时间输出中意味着什么?

在对我的应用进行基准测试时哪一个有意义?

unix time benchmarking

1622
推荐指数
6
解决办法
42万
查看次数

用户CPU时间与系统CPU时间?

你能解释一下"用户CPU时间"和"系统CPU时间"吗?我读了很多,但我听不清楚.

cpu

71
推荐指数
4
解决办法
7万
查看次数

Cloudflare Worker 请求上下文中的 CPU 时间和 Wall time 是多少?

如果您在免费计划中看到 Cloudflare Workers 的定价部分,他们有以下内容

每个请求最多 10ms CPU 时间

并在以下付费计划中

每个请求最多 30 秒的挂机时间

通常,执行一个执行有用操作的脚本需要超过 10 毫秒的时间。根据任务的不同,甚至 30 秒的墙上时间也可能很短。

如果您查看 Worker 的文档限制:CPU 运行时部分,它有

大多数 Worker 请求消耗的时间不到一毫秒。很少能找到正常运行的 Workers 脚本超出 CPU 时间限制的情况。免费计划中的工作人员最多可消耗 10 毫秒,付费计划中的捆绑工作人员最多可消耗 50 毫秒。付费计划还提供长达 30 秒的持续时间,以增加计算时间。免费计划的 10 毫秒津贴足以满足大多数用例(包括应用程序托管)的执行时间。

Workers 脚本的实际运行时间没有限制。只要发送请求的客户端保持连接,Workers 脚本就可以继续处理、发出子请求并代表该请求设置超时。当客户端断开连接时,与该客户端请求关联的所有任务都将被取消。您可以使用 event.waitUntil() 将取消再延迟 30 秒,或者直到传递给 waitUntil() 的 Promise 完成。

虽然就 CPU 时间的一般意义而言,本文中提到的 Wall time正确的。我不认为这在这种情况下是准确的含义,因为在链接的帖子中,CPU 时间是内核或用户空间中的代码执行时间。

CPU time per request与 AWS Lambda 中的代码执行 CPU 时间也不相似,因为它提到了以下内容

Workers 脚本的实际运行时间没有限制。

因此脚本的实际运行时间(即:CPU 执行时间)并不像 AWS Lambda 中那样限制为 15 分钟。

然后

  • Cloudflare 工作线程中每个请求 …

cloudflare cloudflare-workers

7
推荐指数
1
解决办法
4194
查看次数

如何获得C程序的执行时间?

我正在为我的C程序使用时钟功能来打印当前程序的执行时间。我在输出中得到的时间是错误的。我想以秒,毫秒和微秒为单位显示时间。

#include <stdio.h> 
#include <unistd.h>
#include <time.h> 
int main() 
{ 
    clock_t start = clock(); 
    sleep(3);
    clock_t end = clock(); 
    double time_taken = (double)(end - start)/CLOCKS_PER_SEC; // in seconds 

    printf("time program took %f seconds to execute \n", time_taken); 
    return 0; 
} 


time ./time
time program took 0.081000 seconds to execute
real    0m3.002s
user    0m0.000s
sys     0m0.002s
Run Code Online (Sandbox Code Playgroud)

我希望输出大约3秒,但是显示错误。如您所见,如果我使用Linux命令时间运行该程序,我将得到正确的时间,我想使用我的c程序显示相同的时间。

c time execution

5
推荐指数
1
解决办法
810
查看次数

实时,用户时间和系统时间之间的差异

可能重复:
UNIX中的wall-clock-time,user-cpu-time和system-cpu-time具体是什么?

以下程序将运行命令,然后显示有关使用时间的各种值:

#include <iostream>
#include <sys/times.h>
using namespace std;

static void pr_times(clock_t, struct tms *, struct tms *);
static void do_cmd(char *);

int main(int argc, char *argv[])
{
    int i;
    setbuf(stdout, NULL);
    for (i = 1; i < argc; i++)
        do_cmd(argv[i]);    /* once for each command-line arg */
    exit(0);
}

    static void
do_cmd(char *cmd)        /* execute and time the "cmd" */
{
    struct tms  tmsstart, tmsend;
    clock_t     start, end;
    int         status;

    printf("\ncommand: %s\n", cmd);

    if ((start = times(&tmsstart)) == …
Run Code Online (Sandbox Code Playgroud)

c++ time process

2
推荐指数
1
解决办法
5362
查看次数

计算使用 sleep() 时的执行时间

我正在尝试从运行 Angstrom Linux 发行版的 Beagle Bone 中的 ADC 读取数据。我需要使用延迟机制,例如sleep(),仅在特定时间读取样本,以帮助符合特定的采样率。我还需要计算执行时间。

这是一个示例 POC(概念证明),以演示我面临的问题:

#include <stdio.h>
#include <stdlib.h>
#include <time.h>


int main()
{
    clock_t begin, end;

    while(1)
    {
        begin = clock();
        sleep(1); // delay for 1 sec
        end = clock();
        printf("Execution time = %f\n",((float)(end-begin)/CLOCKS_PER_SEC));    
    }    
}
Run Code Online (Sandbox Code Playgroud)

我总是将执行时间设为0.000000.

为什么我的结果不是以1.000000秒为单位?我的猜测是调用sleep()会抢占我的程序,但我不确定。

我还有什么其他选项可以计算包含延迟的已用执行时间?

c linux embedded

1
推荐指数
1
解决办法
4188
查看次数