gpt4 book ai didi

c++ - C++ 中带有线程的时钟函数

转载 作者:行者123 更新时间:2023-11-30 16:31:27 24 4
gpt4 key购买 nike

这里有一个非常有趣的注释:http://en.cppreference.com/w/cpp/chrono/c/clock

“只有对 std::clock 的不同调用返回的两个值之间的差异才有意义,因为 std::clock 时代的开始不必与程序的开始一致。std::clock 时间可以比挂钟快或慢,取决于操作系统给予程序的执行资源。例如,如果 CPU 被其他进程共享,std::clock 时间可能会比挂钟慢。 另一方面,如果当前进程是多线程的并且有多个执行核心可用,则 std::clock 时间可能会比挂钟提前。

为什么多线程会加快时钟速度?我正在检查使用线程与不使用线程的 C++ 程序的性能,我注意到线程的时间相似(不是更好),但感觉更快(比如 3 秒中的 8 秒)运行时)。

最佳答案

如果有多个核心可用,并且您正在运行多个线程,则可能有多个线程同时在不同的核心上执行。由于clock()测量处理器时间,它可能比挂钟时间提前,因为多个线程同时提前。

正如文档中给出的示例 - 它显示了创建的两个线程,并且报告的 clock() 值几乎是报告的挂钟时间的两倍。

关于c++ - C++ 中带有线程的时钟函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50569969/

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