我正在构建一个高性能的多线程程序。一些函数的持续时间和执行的重叠计数很多,我希望以某种方式产生一种视觉时间轴图,显示函数何时开始及其持续时间。我希望有类似于NVIDIA分析器的图表。使用boost::chrono
包我已经收集了时间表,但找不到任何用于绘制它们的软件或API。有人知道吗?
此致
丹尼尔
答案 0 :(得分:1)
看看kcachegrind,我认为它可以满足您的需求。以下是一些screenshots。
如果您不想使用callgrind并且您希望自己生成图表,请考虑使用Graphviz。使用graphviz生成图形所需要做的就是以简单的文本格式创建图形描述。
答案 1 :(得分:-1)
如果您拥有“Microsoft Visual Studio 2012 Professional(或更高版本)”并在Windows上运行程序,Concurrency Visualizer可能会有用。此工具可以在时间轴上分析和可视化线程/ cpu利用率,甚至可以用于C ++应用程序。
另见MSDN Blogs。