图形时间轴创建用于分析多线程C ++程序的软件API

时间:2013-03-18 13:30:42

标签: c++ multithreading profiling

我正在构建一个高性能的多线程程序。一些函数的持续时间和执行的重叠计数很多,我希望以某种方式产生一种视觉时间轴图,显示函数何时开始及其持续时间。我希望有类似于NVIDIA分析器的图表。使用boost::chrono包我已经收集了时间表,但找不到任何用于绘制它们的软件或API。有人知道吗?

此致

丹尼尔

2 个答案:

答案 0 :(得分:1)

看看kcachegrind,我认为它可以满足您的需求。以下是一些screenshots

如果您不想使用callgrind并且您希望自己生成图表,请考虑使用Graphviz。使用graphviz生成图形所需要做的就是以简单的文本格式创建图形描述。

答案 1 :(得分:-1)

如果您拥有“Microsoft Visual Studio 2012 Professional(或更高版本)”并在Windows上运行程序,Concurrency Visualizer可能会有用。此工具可以在时间轴上分析和可视化线程/ cpu利用率,甚至可以用于C ++应用程序。

另见MSDN Blogs