【发布时间】:2014-02-04 17:35:17
【问题描述】:
我正在我的代码中进行一些基准测试,并试图确定我应该使用标准版本的 chrono 还是 Boost 提供的原始版本。
我开始使用标准的,因为我想尝试一下,并注意到例如它没有像 Boost 提供的 chrono 那样提供 io 功能。
那么,关于 chrono 和一般情况,我应该使用 Boost 库还是它们的标准库对应物?
【问题讨论】:
我正在我的代码中进行一些基准测试,并试图确定我应该使用标准版本的 chrono 还是 Boost 提供的原始版本。
我开始使用标准的,因为我想尝试一下,并注意到例如它没有像 Boost 提供的 chrono 那样提供 io 功能。
那么,关于 chrono 和一般情况,我应该使用 Boost 库还是它们的标准库对应物?
【问题讨论】:
这取决于你想要达到什么目标。 C++ 计时专家:
Boost chrono 专业人士:
所以,如果您不需要额外的 io 函数并且不需要 c++03 支持,请使用标准库。
【讨论】:
std::chrono 中哪个接口部分比boost::chrono 更容易理解? (2) boost::chrono 绝对比std::chrono 更更可移植,因为它适用于更广泛的编译器。 (3) 说std::chrono“工作得更快”不是很清楚你的意思。底线似乎是:额外的依赖性与可移植性和功能性。
std::chrono,而且这个架构/编译器可能根本就没有boost。 (3) Std 由编译器提供,通常使用该平台可用的最佳实现。 Boost 可能会为一些罕见/不受支持的编译器使用一些通用实现。
#include <chrono> 来测量低于 1ms 的时间。使用<boost/chrono.hpp> 你可以。