gpt4 book ai didi

c - 多线程程序的测量时间

转载 作者:太空宇宙 更新时间:2023-11-04 01:39:45 24 4
gpt4 key购买 nike

我用函数 clock() 测量了时间,但结果很糟糕。我的意思是,对于具有一个线程的程序和使用具有多个线程的 OpenMP 运行的同一程序,它会给出相同的结果。但事实上,我注意到我的 watch 有很多线程程序计数更快。所以我需要一些挂钟计时器...

我的问题是:这个问题有什么更好的功能?clock_gettime() 或 mb gettimeofday() ?还是 mb 其他东西?

如果是clock_gettime(),那么用哪个时钟? CLOCK_REALTIME 还是 CLOCK_MONOTONIC?

使用 mac os x(雪豹)

最佳答案

如果你想要挂钟时间,并且 clock_gettime() 可用,这是一个不错的选择。如果您要测量时间间隔,请将它与 CLOCK_MONOTONIC 一起使用,将它与 CLOCK_REALTIME 一起使用以获得一天中的实际时间。

CLOCK_REALTIME 为您提供一天中的实际时间,但会受到系统时间调整的影响——因此,如果系统时间在您的程序运行时进行了调整,将会扰乱使用它的时间间隔测量.

CLOCK_MONOTONIC 不会为您提供一天中的正确时间,但它确实以相同的速率计数并且不受系统时间变化的影响——因此它是测量间隔的理想选择,但无用当显示或时间戳需要正确的时间时。

关于c - 多线程程序的测量时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7918529/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com