• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >Android > perf profiling 分析程序性能

perf profiling 分析程序性能

作者:网友 字体:[增加 减小] 来源:互联网 时间:2017-05-26

网友通过本文主要向大家介绍了perf,best perf avg,perf是什么意思,perf consistency,linux perf等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

perf profiling 分析程序性能


perf profiling 分析程序性能

程序性能分析

perf 有一个功能就是按一定频率采集某一个程序的调用栈,然后对调用栈进行统计分析。如果某一个代码路径在采集结果中出现的越平凡,说明程序消耗在这个代码路径上的时间也就越多。这样我们就能很快找到程序调用最频繁的代码路径。

perf命令

perf record -F 99 -p $(pidof test1) -g -- sleep 300这个命令是采集test1程序相关的调用栈,采样频率为99Hz,-g表示将调用栈打印出来,-- sleep 30表示采样时间是300秒

perf report -g --stdio这个命令是查看采用的结果

例子分析

为了了解这个工具有什么样的作用,我特意写了一个程序来进行分析。

#includeint functiona(void){    int c = 0;    int count = 0;    for(c = 1; c < 20000; c++)    {        count++;    }    return;}int functionb(void){    int c = 0;    int count = 0;    for(c = 1; c < 40000; c++)    {        count++;    }    return;}int main(int argc, char * argv[]){    for(;;)    {        functiona();        printf("call function a\n");        functionb();        printf("call function b\n");    }    return;}

通过编译命令gcc -g -o test1 test1.c

测试过程

  1. test1 > /de v/null &
  2. perf record -F 99 -p $(pidof test1) -g -- sleep 300
  3. perf script > out.perf
  4. ./stackcollapse-perf.pl out.perf > out.folded
  5. ./flamegraph.pl out.folded > out.svg

测试结果分析


分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • Android Studio的SVN Performing VCS Refresh/Commit 长时间不结束,androidsvn
  • perf profiling 分析程序性能
  • A DB2 Performance Tuning Roadmap--Q-BASED A/A IMPLEMENATION
  • A DB2 Performance Tuning Roadmap --DIVE INTO LOCK
  • A DB2 Performance Tuning Roadmap --LOG INTRODUCTION

相关文章

  • 2017-05-26linux 内存性能调优
  • 2017-05-26解析Service之你需要了解的一些东东,解析Service之东东
  • 2017-05-26oracle 代码报错大全分析
  • 2017-05-26高仿饿了么应用项目源码,高仿饿项目源码
  • 2017-07-22Android深入四大组件(四)广播的注册、发送和接收过程
  • 2017-05-26【lushengduan】02、Activity的基本认识 如何弹出一条Toast提示框,lushengduantoast
  • 2017-05-26Linux内核系列—11.操作系统开发之ELF格式,linuxelf
  • 2017-05-26Android热补丁动态修复技术(三)—— 使用Javassist注入字节码,完成热补丁框架雏形(可使用)
  • 2017-05-26关于在R中无法引用自己的xml文件,引用xml文件
  • 2017-08-31android button的操作

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • 一个帖子学会Android开发四大组件,android四大
    • 一个简单的Makefile编译框架
    • VS2015墙内创建ionic2,vs2015墙ionic2
    • Android studio图片ERROR: 9-patch image xx .9.png malformed
    • ubuntu vncserver搭建
    • Android开发学习——画横线竖线,android横线
    • 安卓开源项目周报0208,安卓开源项目0208
    • Android解析编译之后的所有文件(so,dex,xml,arsc)格式
    • 我的android学习经历10,android学习经历10
    • 我的android学习经历2,android学习经历2

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有