繁体   English   中英

测试C ++代码的性能

[英]Testing performance of C++ code

我可以使用哪些免费工具来测试Linux中C ++代码的性能? 基本上我想确定代码的瓶颈并提高性能。 我的应用程序主要涉及使用来自网络的数据的计算代码。 所以我想提高代码的执行速度。

谢谢。

对于典型的性能基准测试,这是我使用的。

  • gprof / oprofile - 用于代码的CPU密集分析。
  • netstat / ethereal - 用于网络统计
  • iostat / sar - 用于I / O.
  • vmstat - 用于记忆
  • mpstat / sar - 用于cpu使用

现在,您可以根据这些工具的输出来隔离问题。

例如: - 如果I / O是常数且在限制范围内,则可以消除I / O问题。 如果我的mpstat显示CPU使用率很高,那么使用gprof / oprofile进行分析。

如果不将它们全部一起用于不同的运行,则很难识别出瓶颈。

注意:U可以编写脚本以将所有这些脚本一起运行,并将结果存储在每次运行的指定文件夹中。

我推荐valgrind

  • cpu用法,callgrind子模块(源代码行粒度)
  • 内存泄漏
  • 建立呼叫图
  • 一些高级问题,如在多线程锁定机制中发现问题

callgrind输出可以通过KCacheGrind直观显示。

到目前为止,我所知道的Linux最好的分析器是Zoom 虽然它是商业产品,但它并不太贵,您可以根据要求获得30天的免费评估许可

正如@Paul所说,试一试Zoom

就个人而言,我使用这种方法 ,由于这些原因 ,并且缩放近似它。 这是一些程序员独立发现的技术

我也被告知OProfile可以做到,但你必须知道你需要做什么。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM