【发布时间】:2012-06-13 00:22:34
【问题描述】:
我需要一些帮助来分析现有代码的执行时间。目的是加快速度。
我收到了一些以前处理过的代码。它完全用 C++ 编写,带有 OO 概念。它有一个基于 GUI 的界面,选择某个选项会运行选定的代码段。 (作为项目的一部分,大约有 11 个类)。
我希望能够按下 GUI 选项并让代码运行并生成如下资源映射:
Functions of Class 1 = 20% of execution time
Functions of Class 2 = 60% of execution time
Functions of Class 3 = 10% of execution time
Functions of Class 4 = 10% of execution time
这样,我知道哪个课程占用的时间最多,然后知道要学习和改进哪个课程。但是,我不知道该怎么做。我只有基本的 C++ 知识。
我确实读过这篇文章:find c++ execution time,但是由于该程序不是串行的。一个类调用另一个类,然后调用另一个类,我不知道系统时钟/刻度如何实现?
我读过 Valgrind、Zoom、Poor Man's Profiler 等程序,但老实说不知道如何将它与代码集成。有这么简单的方法吗?
我也读过这个方法:How can I profile C++ code running in Linux?,但是我不知道如何获得关于基于类的信息(1 类、2 类等)的精确信息
有人可以为新手提供建议吗?
【问题讨论】:
-
我会使用 oprofile,它可以分析您的程序的执行,而无需使用分析挂钩来检测您的代码oprofile.sourceforge.net/doc/overview.html#getting-started
标签: c++ performance