gpt4 book ai didi

c++ - 在 C++ 中测量 CPU 时间

转载 作者:可可西里 更新时间:2023-11-01 18:18:42 24 4
gpt4 key购买 nike

如果我有下面的代码

clock_t t;
t = clock();
//algorithm
t = clock() - t;

t 等于运行程序的滴答数。这与 CPU 时间相同吗?在 C++ 中还有其他方法可以测量 CPU 时间吗?

操作系统 -- Debian GNU/Linux我对任何有用的东西都持开放态度。我想比较两种算法的 CPU 时间。

最佳答案

clock() 指定用于测量 CPU 时间,但并非所有实现都这样做。特别是 Microsoft 在 VS 中的实现不会在多个线程运行时计算额外时间,或者在程序线程休眠/等待时计算较少时间。

另请注意,clock() 应测量整个程序使用的 CPU 时间,因此将测量 //algorithm 中多个线程使用的 CPU 时间,其他不属于 //algorithm 的线程也被计算在内。

clock() 是标准中指定的唯一测量 CPU 时间的方法,但是肯定还有其他平台特定的方法来测量 CPU 时间。

std::chrono 不包含任何用于测量 CPU 时间的时钟。它只有一个与系统时间同步的时钟,一个相对于实时以稳定速率前进的时钟,以及一个“高分辨率”但不一定测量 CPU 时间的时钟。

关于c++ - 在 C++ 中测量 CPU 时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20167685/

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