使用gprof对应用程序做性能评测

1,包含头文件gperftools/profiler.h

2,代码结构如下:

int main()
{
    // codes
    ProfilerStart("./profile");
    // working...
    ProfilerStop();
}

3,程序运行完之后,会在本地生成一个名为profile的文件

4,运行下面的命令即可看出简单的评测图

pprof --text programeName profile

 更复杂的操作看pprof的help信息。

时间: 2024-08-06 20:02:48

使用gprof对应用程序做性能评测的相关文章

使用gprof来对程序的性能分析总结

综述 gprof用于分析函数调用耗时,可用之抓出最耗时的函数,以便优化程序. gcc链接时也一定要加-pg参数,以使程序运行结束后生成gmon.out文件,供gprof分析. gprof默认不支持多线程程序,默认不支持共享库程序. gcc -pg 编译程序 运行程序,程序退出时生成 gmon.out gprof ./prog gmon.out -b 查看输出 注意事项 程序如果不是从main return或exit()退出,则可能不生成gmon.out. 程序如果崩溃,可能不生成gmon.out

转:Linux性能评测工具之一:gprof篇

1 简介 改进应用程序的性能是一项非常耗时耗力的工作,但是究竟程序中是哪些函数消耗掉了大部分执行时间,这通常都不是非常明显的.GNU 编译器工具包所提供了一种剖析工具 GNU profiler(gprof).gprof 可以为 Linux平台上的程序精确分析性能瓶颈.gprof精确地给出函数被调用的时间和次数,给出函数调用关系. gprof 用户手册网站 http://sourceware.org/binutils/docs-2.17/gprof/index.html 2 功能 Gprof 是G

Linux性能评测工具之一:gprof篇

这些天自己试着对项目作一些压力测试和性能优化,也对用过的测试工具作一些总结,并把相关的资料作一个汇总,以便以后信手拈来! 1 简介 改进应用程序的性能是一项非常耗时耗力的工作,但是究竟程序中是哪些函数消耗掉了大部分执行时间,这通常都不是非常明显的.GNU 编译器工具包所提供了一种剖析工具 GNU profiler(gprof).gprof 可以为 Linux平台上的程序精确分析性能瓶颈.gprof精确地给出函数被调用的时间和次数,给出函数调用关系. gprof 用户手册网站 http://sou

<转>Android App性能评测分析-流畅度篇

1.前言 在手机App竞争越来越激烈的今天,Android App的各项性能特别是流畅度不如IOS,安卓基于java虚拟机运行,触控响应的延迟和卡顿比IOS系统严重得多.一些下拉上滑.双指缩放快速打字等操作,安卓的流畅度都表现比较糟糕,但是,对于App使用过程是否流畅,一直没有一个可靠的指标将用户的客观感受和数据一一对应.虽然之前有FPS(每秒帧数)作为游戏或视频类App的性能指标,但对于那些界面更新不多的App来说,仍不是一个合适的衡量数据.以下会根据实际app性能测试案例,展开进行app性能

QtQml 应用程序的性能考虑与建议(来自小V的翻译)

QtQml 应用程序的性能考虑与建议 原文:csdn aidear_evo QtQml应用程序的性能考虑与建议 本文翻译自Qt官网文档:http://doc.qt.io/qt-5/qtquick-performance.html 时间考虑 作为一名程序开发者,应该努力使渲染引擎的刷新率维持在60fps,也就是说在每帧之间大约有16ms,这段时间包括了基本图元在图形硬件上的描画.具体内容如下: 尽可能的使用异步事件驱动来编程. 使用工作者线程来处理重要的事情,比如说QML的WorkerScript

Qml应用程序的性能考虑与建议

本文翻译自Qt官网文档: http://doc.qt.io/qt-5/qtquick-performance.html QtQml应用程序的性能考虑与建议 1.时间考虑 作为一名程序开发者,应该努力使渲染引擎的刷新率维持在60fps,也就是说在每帧之间大约有16ms,这段时间包括了基本图元在图形硬件上的描画.具体内容如下: >尽可能的使用异步事件驱动来编程. >使用工作者线程来处理重要的事情,比如说QML的WorkerScript类型就是起用了一个新的线程. >不要手动重复事件循环. &

应用程序的性能: C# vs C/C++

最近一段时间,我在 Timus Online Judge 网站做 ACM 题. 首先,让我们看一下 Timus 1114. Boxes: 这道题要求计算出将两种颜色的球放到盒子中的各种组合的数目.我们发现用同样的算法,C# 程序居然比 C++ 程序慢 62 倍. 真的是 C# 应用程序的性能就一定很差吗?不是的.实际上在这道题中,使用的算法是非常高效的.上面的 0.001 秒和 0.062 秒已经分别是 C/C++ 程序和 C# 程序在 Timus Online Judge 网站运行的最短时间了

计算机系统的设计规则,性能评测

控制流程的三种实现方式: 全硬件,软硬结合,全软件 1:逻辑上是等价的 2:硬件实现"速度快,成本高,灵活性差,占用内存少 3:软件实现,速度慢,复制费用低,灵活性好,占用内存多,容易设计,可改性强, 适应性强,设计周期短 理论上,由两种极端实现方法 1:全硬件机器:操作系统,高级语言,应用等 2:硬件只有1位加法和分支操作,其他都用软件 软硬件实现的优缺点 软硬件取舍的基本原则: 很高的性能价格比 计算机性能评测: 计算机性能是指计算机的工作速度,是程序执行时间的倒数 计算机的性能不仅仅与计算

QtQml应用程序的性能考虑与建议

本文翻译自Qt官网文档: http://doc.qt.io/qt-5/qtquick-performance.html QtQml应用程序的性能考虑与建议 1.时间考虑 作为一名程序开发者,应该努力使渲染引擎的刷新率维持在60fps,也就是说在每帧之间大约有16ms,这段时间包括了基本图元在图形硬件上的描画.具体内容如下: >尽可能的使用异步事件驱动来编程. >使用工作者线程来处理重要的事情,比如说QML的WorkerScript类型就是起用了一个新的线程. >不要手动重复事件循环. &