问题标签 [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 投票
4 回答
1261 浏览

python - FreeBSD 上的 Python 时钟功能

在 FreeBSD 上测试 Python 的 time.clock() 函数时,我注意到它总是返回相同的值,大约为 0.156

time.time() 函数可以正常工作,但我需要一个分辨率稍高的东西。

有没有人绑定它的 C 函数,是否有替代的高分辨率计时器?

我没有进行分析,所以 TimeIt 模块在这里并不合适。

0 投票
4 回答
86873 浏览

windows - 我应该用什么来替换 Windows 上的 gettimeofday()?

我正在编写一个支持发送和接收超时的可移植 Socket 类...为了实现我正在使用的这些超时select()...但是,我有时需要知道我select()在 Linux 上被阻塞了多长时间将通过gettimeofday()在我调用之前和之后调用select()然后使用timersub()来计算增量来实现...

鉴于select()在 Windows 上接受struct timeval超时,我应该使用什么方法来替换 Windows 上的 gettimeofday()?

0 投票
4 回答
6815 浏览

c++ - C++ 中 gettimeofday() 的最佳替代库是什么?

在 Linux 上的 C++ 中使用 gettimeofday() 是否有更多面向对象的替代方法?例如,我喜欢能够编写类似这样的代码:

目标是嵌入式 linux 系统,没有 Boost 库,但也许有一些易于移植的东西(例如,仅用头文件实现的东西)。

0 投票
4 回答
73088 浏览

c - 如何使用 gettimeofday() 或与 Visual Studio C++ 2008 等效的东西?

有人可以帮我在 Windows XP 上使用带有 Visual Studio C++ 2008 的 gettimeofday() 函数吗?这是我在网上某处找到的代码:

去年,当我用 VC++6 测试这段代码时,它运行良好。但是现在当我使用 VC++ 2008 时,我遇到了异常处理的错误。那么关于如何使用 gettimeofday 或类似的东西有什么想法吗?

感谢您的回复,任何帮助将不胜感激:

0 投票
3 回答
707 浏览

performance - 测量选定循环的执行时间

我想测量 C 程序中选定循环的运行时间,以便查看在这些循环中花费了执行程序(在 linux 上)的总时间的百分比。我应该能够指定应该测量性能的循环。在过去的几天里,我尝试了几种工具(vtune、hpctoolkit、oprofile),但似乎都没有。他们都发现了性能瓶颈,并只是展示了那些时间。那是因为这些工具只存储高于阈值(~1ms)的时间。因此,如果一个循环花费的时间少于此时间,则不会报告其执行时间。

gprof 的基本块计数功能取决于旧编译器中现在不支持的功能。

我可以手动编写一个简单的计时器使用gettimeofday或类似的东西,但在某些情况下它不会给出准确的结果。例如:

现在在这里我想测量花费在内部循环中的总时间,我必须gettimeofday在第一个循环中调用。所以gettimeofday它自己会被调用 1000 次,这会引入自己的开销,结果会不准确。

0 投票
5 回答
8202 浏览

c++ - 为什么 gettimeofday() 间隔偶尔为负数?

我有一个实验库,我正在尝试测量其性能。为此,我编写了以下内容:

有时,我的结果包括负时间,其中一些是荒谬的。例如:

这是怎么回事?

0 投票
5 回答
2219 浏览

c - 在 Linux 上测量增量时间时出现奇怪的结果

更新:修复代码中的增量计算,问题仍然存在

伙计们,您能否解释一下为什么我会使用以下代码不时得到非常奇怪的结果:

(您可以使用以下命令编译和运行它:gcc test.c -o out -lrt && ./out

我正在经历的是几乎每秒甚至更频繁的diff变量的零星大值,例如:

这怎么可能?是操作系统的错吗?它是否做了太多的上下文切换?但是我的盒子是空闲的(平均负载:0.02、0.02、0.3)。

这是我的 Linux 内核版本:

0 投票
4 回答
1568 浏览

c - C 中的 -mno-sse 标志和 gettimeofday() 出错

一个使用 gettimeofday() 的简单 C 程序在没有任何标志 (gcc-4.5.1) 的情况下编译时工作正常,但在使用标志 -mno-sse 编译时不提供输出。

我有 CFLAGS=-march=native -mtune=native 有人可以解释为什么会这样吗?程序正常返回正确的值,但在启用 -mno-sse 编译时打印“0”。

0 投票
2 回答
6518 浏览

c++ - C++ 中毫秒级的基准测试?

我真的不想进行分析,因为我想对不同的简单功能进行许多不同的小型基准测试。对于我的一生,我无法找到一种方法来记录 C++ 中的毫秒数,顺便说一下,我正在使用 Linux。

您能否建议以毫秒为单位获取系统时钟的方法(如果我找不到简单的方法,我可能会以秒为单位。)以及它们包含在什么标题中?

0 投票
4 回答
1365 浏览

c - gettimeofday clock_gettime 解决方案生成唯一编号

我的进程运行多个实例(进程)和多个线程,它们都写入同一个数据库。一旦提出请求,就会为要添加到专有数据库的记录生成一个唯一的请求 ID。这是我们的限制:它不能超过 9 个字符的长度,需要将 hhmmss 作为前 6 个字符。我们决定使用 ms 作为最后 3 位数字来完成 9 个字符,我们正在使用 gettimeofday() 完成所有这些操作。但是,随着流量的增加,现在在 ms 周期内放置多个请求时会发生冲突。这与 gettimeofday() 本身不准确的事实相结合,导致碰撞次数增加。我尝试使用clock_gettime,但在测试时,它也不像我从以下测试程序中观察到的那样准确:

  • 由于线程问题,我们无法使用静态或全局变量
  • 无法使用随机数,因为它们需要是连续的

感谢任何帮助。