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

graphical timeline create software API for profiling a multithreaded C++ program

本文关键字:程序 c++ 软件 API 多线程 时间线 创建 用于 图形      更新时间:2023-10-16

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

丹尼尔

看一下kcachegrind,我认为它做你想要的。以下是一些截图。

如果你不想使用callgrind,你宁愿自己生成图形,可以考虑使用Graphviz。使用graphviz生成图形所需要做的就是以简单的文本格式创建图形的描述。

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

请参见MSDN Blogs.