gpt4 book ai didi

C++:运行算法一段时间(没有计时)

转载 作者:行者123 更新时间:2023-11-28 03:30:45 26 4
gpt4 key购买 nike

我在想这样的事情:

// Runs algorithm() n times during an amount of seconds.
void run(int seconds) {
clock_t start = clock();
clock_t current = start;
while(double (current - start) / CLOCKS_PER_SEC <= seconds) {
algorithm();
current = clock();
}
}

我选择 clock() 而不是 time() 以避免在进程休眠时计算时间。我想知道是否有更好的方法来实现这一目标,而不使用 chrono

最佳答案

STLSoft 有一个 performance_counter适用于 UNIX 和 Windows 平台。该库只是 header ,只需要一个简单的包含:

#include <platformstl/performance/performance_counter.hpp>

void run(int seconds) {
platformstl::performance_counter pc;
platformstl::performance_counter::interval_type current = 0;
pc.start();
while ((current / 1000) <= seconds){
algorithm();
current += pc.stop_get_milliseconds_and_restart();
}
}

您还可以查看源代码以获取有关制作您自己的提示。

关于C++:运行算法一段时间(没有计时),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12699905/

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