c++ - 最准确,但是 "cheapest"测量 C++ 代码的方法?

标签 c++ boost cpu

我想要一种尽可能准确地测量 C++ 代码的方法。我确实看到 boost 有一个高分辨率时钟,但 boost 文档说它在性能方面是一个昂贵的时钟 - 有点违背了目的:

http://www.boost.org/doc/libs/1_47_0/doc/html/chrono/users_guide.html

还有什么其他方法吗?有没有办法测量CPU周期?

最佳答案

如果您使用的是 GCC,请尝试 GNU 分析器 (gprof) http://sourceware.org/binutils/docs/gprof/ 。 Gprof 可能会为您提供最准确的结果。

由于上下文切换(黑白进程或线程),在函数中获取开始/结束时间的差异不太准确。

关于c++ - 最准确,但是 "cheapest"测量 C++ 代码的方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13745717/

相关文章:

c++ - boost_asio_handler_invoke_helpers::invoke 是否仍然是在 boost asio 1.70 中调用完成处理程序的受支持方式?

delphi - 如何以编程方式探测CPU的硬件虚拟化能力?

c++ - 从 OpenCV 中的 Matrix 访问值

C++ header 多变量指针包含

c++ - 根据模板函数直接定义非模板函数

c++ - boost::make_zip_iterator 的 decltype?

c++ - boost 图书馆在行业中的接受度

c++ - shared_ptr 的子数据(类似子字符串?)

cpu - 端口尺寸与连接尺寸不匹配

c++ - 优化 CPU 流水线和缓存访问