zoukankan      html  css  js  c++  java
  • perf性能调优

    工具准备

    ubuntu:sudo apt-get install perf

    嵌入式平台:下载源码编译

    注意:编译过程中会有Auto-detectiing system feature的依赖库打印,注意其中off的,代表此库没有符号表;

    测试程序增加-fno-omit-fram-pointer, 避免调用栈浅的问题; 

    调优

    查找系统热点

    1. sudo perf top:得到热点函数
    2. 查找热点函数的调用栈

    查找进程热点

    1. 确保进程中每个线程都有自己的名字:否则同个函数名字的统计会被叠加到一起;
    2. sudo perf record -p pid sleep n : 采集n秒的数据;
    3. sudo perf report:查看热点函数;
    4. 若需要知道热点函数的调用栈,在录制数据时加 -g 参数;

    进程火焰图

    1. sudo perf record -g -p pid sleep n
    2. sudo chown xxx:xxx perf.data
    3. 用perf script解析perf.data: perf script -i perf.data > perf.unfold
    4. 用FlameGraph折叠符号:./FlameGraph/stackcollapse-perf.pl perf.unfold > perf.folded
    5. 生成向量图(svg图): ./FlameGraph/flamegraph.pl perf.folded > perf.svg
    6. 用Firefox或chome浏览器打开图片即可

    查找代码性能缺陷

    sudo perf stat

    1. branch miss
    2. 缺页
    3. cache抖动
  • 相关阅读:
    password
    bzoj 1458: 士兵占领
    国家集训队2011 happiness
    cogs 2051. 王者之剑
    uva 10779 Collectors Problem
    [Jxoi2012]奇怪的道路
    天神下凡
    藏宝图
    黑红树
    愤怒的小鸟
  • 原文地址:https://www.cnblogs.com/zengjianrong/p/11777703.html
Copyright © 2011-2022 走看看