问题标签 [gettimeofday]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
86 浏览

gettimeofday - gettimeofday 和 time() 在 BeagleBone 上跳转 - timesyncd?

我的任务需要在一秒范围内以相当精确的间隔运行。

我使用 gettimeofday() 来建立 start_usec。任务执行完成后,它调用 timedSleep() 函数。timedSleep() 调用 gettimeofday() 以微秒为单位计算睡眠时间,递增调用函数的 start_usec 变量,然后调用 usleep()。

它工作得很好,除了大约每分钟一次它会“跳过” - timedSleep 函数在一秒后返回(据我所知),但 gettimeofday 返回一个提前三到四秒的值。

这是一个代码片段,后面是一些输出。在最后一行,时间提前了大约四秒,但实际经过的时间只有一秒。

BeagleBone 正在运行使用 timesyncd 的 Debian 发行版。这会导致这种行为吗?

这个 BeagleBone 有一个外部 RTC,看起来很好:

0 投票
1 回答
564 浏览

c - gettimeofday 可能无法在 C 中获得适当的时间

所以我一直在尝试使用我的代码中的函数获取运行时我想知道为什么我的代码没有正确计算它所花费的时间,因为它不应该返回运行时的 0 秒. 我想到的一些可能性是我可能弄乱了二维数组,但如果是这样的话,它不应该返回一个空指针吗?

编辑:原始代码 N=500 应该从我的测试中产生大约 1 秒的运行时间

0 投票
1 回答
108 浏览

c - 处理器的计算时间因执行而异,每次在 C 程序中使用 gettimeofday()

我正在尝试通过包含和头文件computation time来比较使用不同 C 库的性能比较。gettimeofday()time.hsys/time.h

gettimeofday()在计算的开始和结束时使用并取了差异。但是每次我执行我的 C 代码时,我都会得到波动的时间作为答案。例如

除了手动执行 50 次这样的执行并取所有结果的平均值之外,有没有一种方法可以取 50 次这样的结果的平均值。

0 投票
1 回答
7198 浏览

c - ‘getnstimeofday' is an implicit declaration in system call when is included

Anwser

Solved!! Thanks to @IanAbbott

the header should be:

rather than <linux/time.h>.

More detail see discussion.


Original Question

I am writing a system call names sys_my_time.c, which will use getnstimeofday(). I have imported <linux/time.h>. The code like this:

But while compiling, the error shows:

I have no idea why the error happens.

P.S. compiling kernel V4.14.25 in Ubuntu 16.04

0 投票
3 回答
1458 浏览

c - gettimeofday() 微秒不限于秒以下

当我输出 的微秒字段时gettimeofday(),我注意到微秒字段大于 1,000,000。有人知道为什么吗?这是否意味着我一直在解释gettimeofday()错误?

作为记录,我的假设是当前时间(以微秒为单位)gettimeofday()如下:

编辑:这是导致问题的代码。在下面的评论之后, printf() 可能有问题。

0 投票
3 回答
679 浏览

c++ - 使用睡眠控制循环时间

我尝试使用 usleep 确保每个循环的执行时间为 10 毫秒,但有时会超过 10 毫秒。

我不知道如何解决这个问题,在这种情况下使用usleepgettimeofday是否合适?

请帮助我找出我错过了什么。

结果:0.0127289 0.0136499 0.0151598 0.0114031 0.014801

0 投票
2 回答
2130 浏览

java - 在什么情况下 CLOCK_MONOTONIC 可能不可用

在Linux上JavaSystem.nanoTime()的单调实现依赖于操作系统上可用的事实。如果它不可用,则在使用. 例如,以下测试可能会失败。CLOCK_MONOTONICgettimeofdaynanoTime

在什么情况下CLOCK_MONOTONIC可能在服务器上不可用?假设CLOCK_MONOTONIC所有现代 Linux 服务器上都可以使用时钟是否合理?

0 投票
1 回答
51 浏览

arduino - 为什么同步到同一 NTP 服务器的 MAC 和 ESP32 (Arduino) 之间的秒数字段会有大约 30,000 的差异?

有谁知道为什么同步到同一个 NTP 服务器的 MAC 和 ESP32(Arduino)之间的秒字段会有大约 30,000 的差异?

我有一组运行 NTP 客户端的 ESP32 芯片,它们都从本地 Windows10 NTP 服务器同步,并且这样做是正确的。ESP32 芯片都同意,但 Mac 不同意。

我有一台 OSX Mojave 机器也设置为使用该 Windows10 NTP 服务器作为它的时间服务器,并已成功使用“sntp -sS”请求更新。

我的问题是 ESP32 和 Mac 平台之间的“gettimeofday”值相差很大,大约相差 30,000 秒。

时区似乎无关紧要。我通过 Python 中的 time.time() 获得这个值,它应该为我调用“gettimeofday”。

0 投票
2 回答
60 浏览

c - gettimeofday() 上的奇怪标记

我为我大学的抽样任务编写了这段代码。

这是我的输出

时间:1557335682.435666 分歧:200.127125 ms

时间:1557335682.635813 分歧:200.146914 ms

时间:1557335682.835952 分歧:200.139046 ms

时间:1557335683.036075 分歧:200.123072 ms

time: 1557335683.236192 divergance: -50328976507548121002151598324465532616014103321089770750300716493231241208217866953937760599346823570331739493744117764925654540012842402655523878795775819489233146901362588461216017208320541658368563434403808909221817741213696.000000 ms

时间:1557335683.436400 分歧:1557335683436.399902 ms

时间:1557335683.636521 分歧:1557335683636.520752 ms

时间:1557335683.836647 分歧:1557335683836.646973 ms

有谁知道第五次计算的奇怪输出是什么。我无法想象任何合乎逻辑的解释,因为我之前没有遇到任何类似的“错误”。它与功能的某些特征有关gettimeofday()吗?

注意:输入是10200

0 投票
2 回答
136 浏览

c - 如何在用户将它们作为输入插入时测量两个字符之间的时间(以秒为单位)

如何以秒为单位测量插入时间?

我尝试使用:

我在插入输入之前检查了时间:

得到输入后也是一样的:

但它根本不准确!

我需要更好的方法来测量Inserting time中的秒数,并了解插入每个字符的秒数差异。

我需要知道秒率,插入“点击”字符作为输入,并以elapsedTime秒为单位计算:

输出应该是这样的: