性能之巅-优化你的程序

李肖遥 2022-09-15 22:09
    关注、星标公众号,直达精彩内容

作者:头条 码砖杂役


1. 什么是SMMU?



outline:关注&指标&度量,基础理论知识,工具&方法,最佳实践,参考资料





性能优化关注:CPU、内存、磁盘IO、网络IO等四个方面。




性能指标:吞吐率、响应时间、QPS/IOPS、TP99、资源使用率是我们经常关注的指标。





时间度量:从cpu cycle到网络IO,自上到下,时间量级越大。





监控、分析、优化,三部曲,以终为始,循环往复。





优化性能,需要一些系统编程知识。





提升处理能力、减少计算量是优化的2个根本方向。





优化大师格雷格画的图,吊炸天,你应该很熟悉,gregg亲手实现了一些工具。





借助工具定位性能瓶颈。gprof2dot.py可以处理多种采样输出数据

建议使用perf等非侵入式的profiling工具。





perf不仅仅可以定位cpu瓶颈,还可以查看很多方面,比如缺页,分支预测失败,上下文切换等。





IO瓶颈,你应该知道的知识。





有关锁的知识,你应该知道的。





多线程的学问很大





内存管理的方方面面





最佳实践,没有足够理由,你不应该违背。





你应该懂得的。





关于排序,你应该知道的。




这些资料不错,你值得拥有。

如果对你有帮助,请帮忙转发,让更多朋友收益。


  • 一般性原则

  • 依据数据而不是凭空猜测

  • 忌过早优化

  • 忌过度优化

  • 深入理解业务

  • 性能优化是持久战

  • 选择合适的衡量指标、测试用例、测试环境

  • 性能优化的层次

  • 需求阶段

  • 设计阶段

  • 实现阶段

  • 一般性方法

  • 缓存

  • 并发

  • 惰性

  • 批量,合并

  • 更高效的实现

  • 缩小解空间

  • 性能优化与代码质量

  • 总结

依据数据而不是凭空猜测

这是性能优化的第一原则,当我们怀疑性能有问题的时候,应该通过测试、日志、profillig来分析出哪里有问题,有的放矢,而不是凭感觉、撞运气。一个系统有了性能问题,瓶颈有可能是CPU,有可能是内存,有可能是IO(磁盘IO,网络IO),大方向的定位可以使用top以及stat系列来定位(vmstat,iostat,netstat...),针对单个进程,可以使用pidstat来分析。

在本文中,主要讨论的是CPU相关的性能问题。按照80/20定律,绝大多数的时间都耗费在少量的代码片段里面,找出这些代码唯一可靠的办法就是profile,我所知的编程语言,都有相关的profile工具,熟练使用这些profile工具是性能优化的第一步。

忌过早优化

The real problem is that programmers have spent far too much time worrying about efficiency in the wrong places and at the wrong times; premature optimization is the root of all evil (or at least most of it) in programming.

我并不十分清楚Donald Knuth说出这句名言的上下文环境,但我自己是十分认同这个观念的。在我的工作环境(以及典型的互联网应用开发)与编程模式下,追求的是快速的迭代与试错,过早的优化往往是无用功。而且,过早的优化很容易拍脑袋,优化的点往往不是真正的性能瓶颈。

忌过度优化

As performance is part of the specification of a program – a program that is unusably slow is not fit for purpose

性能优化的目标是追求合适的性价比。

在不同的阶段,我们对系统的性能会有一定的要求,比如吞吐量要达到多少多少。如果达不到这个指标,就需要去优化。如果能满足预期,那么就无需花费时间精力去优化,比如只有几十个人使用的内部系统,就不用按照十万在线的目标去优化。

而且,后面也会提到,一些优化方法是“有损”的,可能会对代码的可读性、可维护性有副作用。这个时候,就更不能过度优化。

深入理解业务

代码是服务于业务的,也许是服务于最终用户,也许是服务于其他程序员。不了解业务,很难理解系统的流程,很难找出系统设计的不足之处。后面还会提及对业务理解的重要性。

性能优化是持久战

当核心业务方向明确之后,就应该开始关注性能问题,当项目上线之后,更应该持续的进行性能检测与优化。

现在的互联网产品,不再是一锤子买卖,在上线之后还需要持续的开发,用户的涌入也会带来性能问题。因此需要自动化的检测性能问题,保持稳定的测试环境,持续的发现并解决性能问题,而不是被动地等到用户的投诉。

选择合适的衡量指标、测试用例、测试环境

正因为性能优化是一个长期的行为,所以需要固定衡量指标、测试用例、测试环境,这样才能客观反映性能的实际情况,也能展现出优化的效果。

衡量性能有很多指标,比如系统响应时间、系统吞吐量、系统并发量。不同的系统核心指标是不一样的,首先要明确本系统的核心性能诉求,固定测试用例;其次也要兼顾其他指标,不能顾此失彼。

测试环境也很重要,有一次突然发现我们的QPS高了许多,但是程序压根儿没优化,查了半天,才发现是换了一个更牛逼的物理机做测试服务器。

版权声明:本文来源网络,免费传达知识,版权归原作者所有。如涉及作品版权问题,请联系我进行删除。

‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧  END  ‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧

关注我的微信公众号,回复“加群”按规则加入技术交流群。


点击“阅读原文”查看更多分享,欢迎点分享、收藏、点赞、在看。

登录阅读全文
  • 程序
李肖遥 公众号“技术让梦想更伟大”,作者:李肖遥,专注嵌入式,只推荐适合你的博文,干货,技术心得,与君共勉。
进入专栏
评论 (0)
  • 【报名】2024 Arm Tech年度大会(上海/深圳)


  • 突发!巨头秘密裁员数千人!

    中国半导体论坛 2024-09-19 212浏览
  • 增资16亿!士兰微加速12吋IGBT产线建设

    行家说汽车半导体 2024-09-19 206浏览
  • 高通裁员数百人

    集成电路IC 2024-09-20 170浏览
  • BP机会爆炸?拆开看看都有啥!

    电子电路开发学习 2024-09-19 166浏览
  • 曝宝马重返价格战

    电动知家 2024-09-20 162浏览
  • 大连思科裁员,N+7赔偿!

    EETOP 2024-09-20 154浏览
  • 事关“小电驴”:新规对控制器、电池、电机有新要求

    ittbank 2024-09-20 143浏览
  • 国内12英寸晶圆厂最新进展!附项目分布图

    半导体前沿 2024-09-20 137浏览
  • 徐直军:不是每个企业都需要训练自己的大模型

    综合报道 2024-09-20 14:19 38浏览
  • 科技的洪荒之力:可穿戴设备中的MEMS传感器 助运动员争金夺银

    意法半导体 2024-09-14 15:26 82浏览
  • 能覆盖16公里?Wi-Fi HaLow与普通Wi-Fi最大不同原来是它

    谢宇恒 2024-09-13 17:51 400浏览
  • 出海遇阻,物联网模组厂商备战新行情

    邵乐峰 2024-09-13 10:27 171浏览
  • 美国众议院通过法案,限制大疆无人机在美销售

    综合报道 2024-09-11 16:32 257浏览
  • 在边缘部署单对以太网

    Microchip汽车信息系统业务部资深营销经理,Henry Muyshondt  2024-09-11 15:18 82浏览
  • “液晶之父”夏普入局造车能赚钱?

    吴清珍 2024-09-11 14:12 174浏览
  • Nordic nRF9151:面向大规模物联网市场的小型、低功耗蜂窝物联网解决方案现已投入生产并上市

    Nordic 2024-09-11 11:40 28浏览
  • 元视芯通过AEC-Q100认证,车规级CIS市场再添强劲力量

    2024-09-20 15:02 12浏览
  • Littelfuse推出高频应用的IX4341和IX4342双5安培低压侧MOSFET栅极驱动器

    Littelfuse 2024-09-20 12:17 11浏览
  • 硬控职场,从灵开始!致态灵·先锋版移动固态硬盘全新上市

    致态 2024-09-20 11:17 12浏览
  • 本土自研再上新!安谋科技发布首款“玲珑”DPU和新一代VPU

    安谋科技 2024-09-20 09:20 16浏览
  • 第三届GMIF2024创新峰会演讲嘉宾阵容重磅揭晓!众多行业大咖与您9月27日相约存储产业盛会

    深圳市存储器行业协会 2024-09-19 17:53 26浏览
  • 治精微推出共模电压270 V, CMRR 100 dB 精密差动放大器ZJA3669

    2024-09-18 23:14 36浏览
  • 这个图中两个二极管负极串负极的目的是什么?

    weixianghui 2024-09-14 434浏览
  • 车载显示屏。关于显示屏EDP接口的timing如何测试

    zhusx123 2024-09-08 294浏览
  • 电机的转速和扭矩的关系

    乱世煮酒论天下 2024-09-07 219浏览
  • 恒流源漏电问题分析及解决方案

    24c01硬件电子 2024-09-04 713浏览
  • 热仿真

    eyesee00 2024-09-14 110浏览
  • 【拆解】这个遥控器挺不错

    丸子~ 2024-09-09 505浏览
  • 保险丝选型

    weixianghui 2024-09-12 564浏览
  • 《热设计的世界 打开电子产品散热领域》书籍简介及读后感

    无垠的广袤 2024-09-05 689浏览
  • 【拆解】当年还需要从岛国辛苦往回背的智能马桶

    lyyinhe_xi 2024-09-09 727浏览
  • 【N32G401开发板】+串口实现DMA发送

    我是红尘一抹阳光 2024-09-11 713浏览
  • 【拆解】一个DC弦线计

    A男的糊涂 2024-09-18 207浏览
  • 【拆解】记忆中的频谱灯

    丸子~ 2024-09-11 859浏览
  • 领泰MOSFET管LTS7446SJ N管道MOS管

    qiu1986 2024-09-07 95浏览
  • 【拆解】劲爆消息,超高精度电流表竟被拆解

    丸子~ 2024-09-05 1536浏览
  • 9-8学习笔记
  • Toshiba东芝TPHR9003NL N沟道MOSFET产品规格书datasheet
  • TB67B008FTG三相无刷直流电机datasheet产品规格书
  • Toshiba东芝TB62269FTG两相双极步进电机驱动IC 产品规格书datasheet
  • 9-13学习笔记
  • Toshiba东芝74VHC00FT产品规格书datasheet
  • 9-12学习笔记
  • Toshiba东芝TLP2361光耦产品规格书datasheet
  • 9-10学习笔记
  • Toshiba东芝TPN11003NL N沟道MOSFET产品规格书datasheet
  • 9-18学习笔记
  • 美国某大学教材推荐的电子爱好者网站
  • 华为智慧矿山
  • Toshiba东芝TB67B008FTG三相无刷直流电机 中文产品规格书datasheet
  • 汽车免拆诊断案例 | 2013款宝马116i车偶尔加速不良
    故障现象 一辆2013款宝马116i车,搭载N13B16A 发动机,累计行驶里程约为12.1万km。车主反映,该车行驶中偶尔加速无反应,且发动机故障灯异常点亮。 故障诊断接车后试车,故障现象无法再现。用故障检测仪检测,发动机控制单元(DME)中存储有多个与节气门相关的故障代码(图1),分析故障代码,推断故障可能是由节气门翻板过脏,偶尔卡滞引起的。 图1 DME中存储的故障代码拆下节气门总成检查,并不算脏;反复多次直接给节气门电动机短暂供电,节气门翻板打开及回位均无明显异常。用
    虹科Pico汽车示波器 2024-09-19 16:48 125浏览
  • 设置TI的ADS8353性能演示套件
    以下是关于如何设置TI的ADS8353性能演示套件的详细步骤: 1. 了解套件组件:ADS8353 ADC 性能演示套件包括一个16位、双通道、同步采样的精密ADC,每秒可同时采集600千赫样本。该套件还配备了微控制器(MCU)和处理器、数据转换器以及电机驱动器等关键组件。 2. 连接硬件:首先,确保所有硬件组件正确连接。这包括将ADS8353 ADC与评估板连接,并将评估板连接到电源和计算机。 3. 安装软件:接下来,需要在计算机上安装TI提供的软件工具,以便与评估板进行通信和配置。
    丙丁先生 2024-09-20 10:55 85浏览
  • 中空长航时(MALE)无人机市场份额、市场占有率、行业市场研究
    2024年9月20日 调研咨询机构环洋市场咨询出版的《全球中空长航时(MALE)无人机行业总体规模、主要厂商及IPO上市调研报告,2024-2030》只要分析全球中空长航时(MALE)无人机总体规模,主要地区规模,主要企业规模和份额,主要产品分类规模,下游主要应用规模以及未来发展前景预测。统计维度包括销量、价格、收入,和市场份额。同时也重点分析全球市场主要厂商(品牌)产品特点、产品规格、价格、销量、销售收入及发展动态。历史数据为2019至2023年,预测数据为2024至2030年。 调研机构:
    GIRtina 2024-09-20 18:09 78浏览
  • 缓冲反向转换器
    缓冲反向转换器是一种在电源设计中常用的技术,用于控制和减少由于变压器漏极电感引起的过电压应力。以下是对缓冲反向转换器的详细介绍: 1. 缓冲反向转换器的基本概念   定义:缓冲反向转换器主要用于在MOSFET关断时,通过特定的电路来吸收存储在变压器漏极电感中的能量,从而防止过电压对MOSFET造成损害。    重要性:在反向转换器中,当MOSFET关闭时,变压器的漏极电感会导致漏电压升至反射输出电压以上,可能引发MOSFET的雪崩现象,因此需要使用缓冲器
    丙丁先生 2024-09-20 10:28 37浏览
  • 无线键盘鼠标真实情境下的无线干扰风险
    键盘与鼠标是系统上最通用的周边装置,这些装置过往多半采有线方式做连接,目前已逐渐大量采用无线连接为主流,无线键盘和鼠标通常使用蓝牙技术或无线射频(RF)技术,然而这些技术也可能面临一些无线干扰的问题,进而造成使用者体验不佳影响品牌形象,甚至产生退货问题,这也成为采购商在采购询价(RFQ)时需留意的要点。无线键盘鼠标的无线干扰风险与解决方法近年来无线传输技术在键盘鼠标上已相当普及,市场上我们可以看到各种形形色色的无线键盘鼠标,包括了:针对特定消费族群的静音键盘鼠标、低延迟的电竞键盘鼠标。不论是何用
    百佳泰测试实验室 2024-09-20 13:29 89浏览
  • 电竞屏幕Adaptive-Sync功能异常,游戏体验大打折扣!
    Adaptive-Sync是什么?近年来电竞屏幕随着电竞产业的蓬勃发展以及游戏玩家对于更高画质、更流畅游戏体验的需求,电竞屏幕成为游戏设备中不可或缺的一环。电竞屏幕市场的概况与发展中,其中很重要的亮点就是高刷新率跟Adaptive-Sync技术的导入,美国视讯电子标准协会(VESA)在推出DisplayPort 1.4 规格标准时,针对电竞产品新增了Adaptive-Sync(可变更新频率)功能,让用户在玩游戏时可以减少画面的撕裂与延迟等现象,提供更平滑的游戏体验,这项功能对于不同刷新率的显示适
    百佳泰测试实验室 2024-09-19 12:29 115浏览
  • 预计2030年全球腹腔镜模拟器产值达到1520百万美元
    2024年9月20日 调研咨询机构环洋市场咨询出版的《全球腹腔镜模拟器行业总体规模、主要厂商及IPO上市调研报告,2024-2030》只要调研全球腹腔镜模拟器总体规模,主要地区规模,主要企业规模和份额,主要产品分类规模,下游主要应用规模以及未来发展前景预测。统计维度包括销量、价格、收入,和市场份额。同时也重点分析全球市场主要厂商(品牌)产品特点、产品规格、价格、销量、销售收入及发展动态。历史数据为2019至2023年,预测数据为2024至2030。 调研机构:Global Info Resea
    GIRtina 2024-09-20 19:00 60浏览
  • 人工或自动化?从线缆全面IQC检测着手质量问题
    应用环境与市场需求随着科技不断进步,6K与8K显示器逐渐成为趋势,重新定义了我们对影像质量的期待。6K与8K显示器之所以备受瞩目,主要是因为它们提供了极高的分辨率。举例来说,6K显示器拥有超过6,000像素的水平分辨率,显著提升了影像的细节和清晰度,使用户能够更真实地体验影像的震撼效果;而8K显示器则更进一步将细节度推向新境界,带给用户身临其境般的感受。但随着高分辨率显示器的普及,也带来了挑战,首先是硬件需求的提升,高分辨率需要更强大的处理器和显示适配器来支持,目前6K/8K显示器主要采用最新的
    百佳泰测试实验室 2024-09-19 12:27 124浏览
  • 有关Lunar Lake的少量信息更新...
    前两周写了一篇有关 Lunar Lake 如何实现低功耗的文章:谈谈Lunar Lake的低功耗设计:听说x86做不了低功耗?有读者一笔评论如上,感觉这个总结是比较到位的——虽然我在文章里也没直接提,不过在 ring 总线之外,本质应该也就是跟电源管理有关吧。这里再给些补充资料,虽然感觉干货也不算多。Hot Chips 上,Chip and Cheese 采访了 Intel,以下我摘取部分内容做了翻译,方括号里头的是我的屁话:Q:...Lion Cove 核心不带 SMT(超线程)。我们也从行业
    欧阳洋葱 2024-09-20 18:35 103浏览
  • 可编程自动化控制器行业市场现状分析及投资机遇研究报告
    2024-9-20调研咨询机构环洋市场咨询出版的【全球可编程自动化控制器行业总体规模、主要厂商及IPO上市调研报告,2024-2030】只要调研全球可编程自动化控制器总体规模,主要地区规模,主要企业规模和份额,主要产品分类规模,下游主要应用规模以及未来发展前景预测。统计维度包括销量、价格、收入,和市场份额。同时也重点分析全球市场主要厂商(品牌)产品特点、产品规格、价格、销量、销售收入及发展动态。历史数据为2019至2023年,预测数据为2024至2030年。 调研机构:Global Info
    GIRtina 2024-09-20 18:05 46浏览
  • 指环想称王?“魔戒”,引领个性健康监测潮流
    可穿戴设备市场一直在寻找下一个风口。站在2024年来看,智能戒指似乎更有机会。市场调研机构 GMI 最新数据报告显示,2023年智能戒指市场规模达到2.1亿美元,预测2024~2032年将以24.1%的市场复合增长率增长,至2032年达到10亿美元市场规模。图片来源:GMInsights1、走向C位Galaxy Ring,一个曾经的小众品类,却在三星发布会上稳稳占据C位。图片来源网络基于加速度计、光学心率传感器和皮肤温度传感器,Galaxy Ring支持睡眠监测、全天候心率监测、压力水平、身体和
    艾迈斯欧司朗 2024-09-19 15:30 118浏览
  • 支付编排行业发展前景分析及市场趋势研究报告
    2024年9月20日 Global Info Research调研机构发布了《全球支付编排行业总体规模、主要厂商及IPO上市调研报告,2024-2030》。本报告研究全球支付编排总体规模,主要地区规模,主要企业规模和份额,主要产品分类规模,下游主要应用规模等。统计维度包括收入和市场份额等。不仅全面分析全球范围内主要企业竞争态势,收入和市场份额等。同时也重点分析全球市场主要厂商(品牌)产品特点、产品规格、收入、毛利率及市场份额、及发展动态。历史数据为2019至2023年,预测数据为2024至203
    GIRtina 2024-09-20 18:07 47浏览
  • 瑞萨500W车载电池充电器方案提升两轮电动车充电体验
    两轮电动车在满足短途交通需求方面具有明显优势。据相关数据显示,中国两轮电动车的保有量已经突破3.25亿辆,是人们日常生活出行、通勤的主要交通工具之一。随着两轮电动车的应用不断增长,如何高效、安全的充电成为电动车制造商亟需解决的关键议题。瑞萨500W车载电池充电器采用先进的氮化镓(GaN)技术,包括两个功率级:用于交流到直流转换的功率因数校正(PFC)级和用于直流到直流转换的LLC级,能够实现超过95%的峰值效率。在器件的选择上,此方案集成低功耗微控制器RL78/F14、GaN FET TP65H
    丙丁先生 2024-09-20 12:22 79浏览
  • 光耦——电子设备设计中的关键守护者
     在现代电子设备的设计与应用中,光电耦合器(简称光耦)作为重要的元器件,扮演着不可或缺的角色。无论是工业控制、智能家居,还是消费类电子产品,光耦的应用都随处可见。那么,为什么需要光耦呢?下面让我们从几个关键方面来解答。 连接具有不同接地电位的电路在许多实际应用中,常常需要将不同接地电位的电路进行信号传输。例如,当需要在使用交流电源的电路与电话电路之间交换信号时,由于这两类电路的接地电位不同,直接连接会产生风险,甚至引发故障。在这种情况下,光耦可以有效隔离不同电位的电路,同时实
    晶台光耦 2024-09-20 10:28 46浏览
我要评论
0
0
点击右上角,分享到朋友圈 我知道啦
请使用浏览器分享功能 我知道啦

天下网标王百度网站优化怎样收费衡山优化网站湖北网站优化网络推广电话品牌网站优化如何优化渠道网站结构优化的目标长宁区公司网站优化价格徐州网站优化指导济南网站优化 鹊起科技网站做优化选好的云速捷推荐苏州网站专题优化仙桃外包网站优化要多少钱如何做好网络推广和网站优化东坑家具网站优化地址沙洋县网站seo优化排名沈阳机械行业网站优化专业团队企业网站优化中存在的几个问题巩义网站搭建优化邯郸放心的网站推广与优化枣庄网站优化外包优化网站的方法甄选火29星择快排网站优化网站优化排名推广找兴田德润恩施网站优化建议郴州网站优化费用多少网站排名优化疒金手指专业漯河网站自然优化去哪里找婚纱摄影网站优化重庆巴南区网站优化推广上城企业网站优化网站建设和关键词优化技巧香港通过《维护国家安全条例》两大学生合买彩票中奖一人不认账让美丽中国“从细节出发”19岁小伙救下5人后溺亡 多方发声卫健委通报少年有偿捐血浆16次猝死汪小菲曝离婚始末何赛飞追着代拍打雅江山火三名扑火人员牺牲系谣言男子被猫抓伤后确诊“猫抓病”周杰伦一审败诉网易中国拥有亿元资产的家庭达13.3万户315晚会后胖东来又人满为患了高校汽车撞人致3死16伤 司机系学生张家界的山上“长”满了韩国人?张立群任西安交通大学校长手机成瘾是影响睡眠质量重要因素网友洛杉矶偶遇贾玲“重生之我在北大当嫡校长”单亲妈妈陷入热恋 14岁儿子报警倪萍分享减重40斤方法杨倩无缘巴黎奥运考生莫言也上北大硕士复试名单了许家印被限制高消费奥巴马现身唐宁街 黑色着装引猜测专访95后高颜值猪保姆男孩8年未见母亲被告知被遗忘七年后宇文玥被薅头发捞上岸郑州一火锅店爆改成麻辣烫店西双版纳热带植物园回应蜉蝣大爆发沉迷短剧的人就像掉进了杀猪盘当地回应沈阳致3死车祸车主疑毒驾开除党籍5年后 原水城县长再被查凯特王妃现身!外出购物视频曝光初中生遭15人围殴自卫刺伤3人判无罪事业单位女子向同事水杯投不明物质男子被流浪猫绊倒 投喂者赔24万外国人感慨凌晨的中国很安全路边卖淀粉肠阿姨主动出示声明书胖东来员工每周单休无小长假王树国卸任西安交大校长 师生送别小米汽车超级工厂正式揭幕黑马情侣提车了妈妈回应孩子在校撞护栏坠楼校方回应护栏损坏小学生课间坠楼房客欠租失踪 房东直发愁专家建议不必谈骨泥色变老人退休金被冒领16年 金额超20万西藏招商引资投资者子女可当地高考特朗普无法缴纳4.54亿美元罚金浙江一高校内汽车冲撞行人 多人受伤

天下网标王 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化