C+的性能测试实用程序+; 我很好奇,是否有人对性能测试库有什么建议,前端会产生C++的好的图形图表(比如GCOV如何产生覆盖数据,并且有很多地方可以查看代码覆盖率数据)。能够制作如下图表:

C+的性能测试实用程序+; 我很好奇,是否有人对性能测试库有什么建议,前端会产生C++的好的图形图表(比如GCOV如何产生覆盖数据,并且有很多地方可以查看代码覆盖率数据)。能够制作如下图表:,c++,performance-testing,C++,Performance Testing,那会很顺利的。我们现在使用cppunit进行单元测试,所以可能有一些东西与之集成 更多信息:我们正在英特尔x86-64机器上的Linux(我们使用Ubuntu Lucid/Maverick)上编译。在Linux上,您可以尝试valgrind工具包。Valgrind包括callgrind工具,可以分析代码。KCacheGrind很好地可视化了cachegrind的输出。一些建议: C++框架能够生成JUnit兼容报表。 可用于运行测试。只要求C++应用程序可以作为控制台应用程序运行。 可以从J

那会很顺利的。我们现在使用cppunit进行单元测试,所以可能有一些东西与之集成


更多信息:我们正在英特尔x86-64机器上的Linux(我们使用Ubuntu Lucid/Maverick)上编译。

在Linux上,您可以尝试valgrind工具包。Valgrind包括callgrind工具,可以分析代码。KCacheGrind很好地可视化了cachegrind的输出。

一些建议:

  • C++框架能够生成JUnit兼容报表。
  • 可用于运行测试。只要求C++应用程序可以作为控制台应用程序运行。
  • 可以从JUnit报告生成图形图表
  • 还有很多其他的

    • 从我在答案和答案中的经历中,我希望能找到一些相关的笔记


      没有理由认为您现有的CppUnit设置与类似于
      作用域\u计时器
      (请参见上文第二部分)以及对某些图表进行一点后处理可能不能满足您的需要。虽然我相信CppUnit包含一个插件(“Clocker”?),它将注销unittest时间,但我认为它实际上对这种性能测试没有多大用处,因为您最终总是希望对每个测试的一部分计时,而不是对所有的设置代码计时。

      有两个性能测试框架可以帮助您

      • 飞拍(​)
      • 哈伊(​)
      它们都是受Google测试框架的启发,并提供了支持性能测试的接口,因此很容易将您最初的Google测试传输到或

      结合了单元测试和perf_evnet。它扩展了Google测试的概念,并提供了一个访问PMU的接口。perf_事件提供了准确的周期计数,这对对对时间变化敏感的工具(如编译器)非常有用。还可以通过PMU事件分析一段代码(等式:周期、指令、缓存引用、缓存未命中等)


      支持不同操作系统的多种性能测量方法(Windows:
      QueryPerformanceCounter()
      ,Linux:
      gethrtime()
      ,Apple(OSX,iOS):
      mach\u absolute\u time()
      )在其性能测试框架中。

      ,有一个有趣的正在进行的此类事情的列表…这在很大程度上取决于您运行的操作系统和CPU以及可用的操作系统…您是否在寻找更多的自动化测试或性能评测?我想更像是一个自动化回归测试设置,特别是geared向性能指标发展。利用cppunit会很酷,但这不是必需的,我对任何类型的性能测试工具都感兴趣。分析将是我们在回归测试发现一些大型运行时命中或类似事件后采取的步骤。其想法不是分析代码本身,而是创建一个夜间build系统,它可以通过采用一些简单的指标(甚至可能只是运行时)来通知我们性能下降在我们将要进行的一些性能单元测试中。因此,我们并不特别想对代码进行测试,我们只想看到它的原始性能。@Kenny:您可以解析
      cg_diff
      的输出,以生成您想要的图形。