01 | 程序员为什么要关心代码性能?
庄振运
该思维导图由 AI 生成,仅供参考
你好,我是庄振运。
感谢你加入这个专栏的学习,我也非常高兴能有机会和你一起探索这个领域。
我在计算机和互联网行业已经研究和工作近 20 年了,一直从事性能优化和容量管理相关的工作。从今天起,我就和你分享我这些年的经验和感悟。
提起计算机和互联网,多数人首先想到的职业是程序员。中国有多少程序员呢?很多人估计有 600 万左右。全球的人数就更多了,肯定超过 2000 万。
我虽然也在互联网领域,也做过几年写程序的工作,但是现在的工作,严格意义上不算程序员,而是性能工程师。不过我和很多程序员朋友一起工作过,也讨论过。谈到性能优化和系统容量管理的时候,一开始他们经常会问我一个问题,就是程序员为什么需要了解性能和容量这些东西?通俗点说,这个问题就是:我就是一介程序员,性能和系统容量听起来很重要,但与我何干?
这个问题问得很好。我可以和你肯定地说,程序员应该关心,也必须关心代码性能和系统容量。今天这一讲,我们先说说程序员为什么需要关心性能。
怎么定义“性能”和 “性能好”?
说起代码性能,首先我们需要弄清楚什么样的代码算是性能好?怎么样算是性能不好?
代码性能表现在很多方面和指标,比较常见的几个指标有吞吐量(Throughput)、服务延迟(Service latency)、扩展性(Scalability)和资源使用效率(Resource Utilization)。
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
- 深入了解
- 翻译
- 解释
- 总结
本文主要讲述了程序员为什么需要关心代码性能以及不同级别的程序员都需要关心性能。首先介绍了代码性能的指标,包括吞吐量、服务延迟、扩展性和资源使用效率。然后阐述了性能不好的代码对程序员和公司的负面影响。最后通过举例说明了不同级别的程序员在工作中如何关注代码性能。文章强调了代码性能对程序员和公司的重要性,以及不同级别程序员都应该关注和负责代码性能的观点。举例包括技术专家对线程池大小的建议以及高级专家通过指令级别的优化节省了公司运营成本。文章呼吁每个IT从业人员都需要关心代码性能,因为性能不好的代码无异于耍流氓,不经用还隐患无穷。文章以唐代诗人孟郊的诗句引出,强调了程序员应该追求代码运行飞快、稳定的目标。
仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《性能工程高手课》,新⼈⾸单¥59
《性能工程高手课》,新⼈⾸单¥59
立即购买
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
登录 后留言
全部留言(28)
- 最新
- 精选
- Jxin有意思。文笔有优秀产品经理的雅致与风趣。逻辑有优秀程序员的清晰与精准。开篇两章,已见不凡。追了,追了。
作者回复: 好高的评价!谢谢谢谢。
2019-12-0320 - OlafOO老师对不同阶段程序员举的例子好经典
作者回复: 😄,谢谢。祝愿你快速修炼到最高级!
2019-12-0213 - Q第一,为什么那么多人不重视不了解性能优化,要怪就怪,现在的机器性能太强悍了,人类科技的进步,掩饰掉了大部分因为人为原因造成的性能问题,所以科技的惯性太隐蔽又太强悍。 第二,关键还在于业务数据量是否增长和公司是否重视性能测试,如果重视性能压测,那么早期都会发现系统性能的瓶颈和压力在哪里,否则总是会在生产过程某个时间点中出问题,所以测试手段很重要。
作者回复: 体会的很好!
2019-12-0426 - 丁丁历险记例子一的程序员直接开除。 例子五的架构师鼓舞着我们前行(做死) 每天都在做死的路上
作者回复: 要允许年轻人犯错误,每个人都是从菜鸟到大虾的。😄
2019-12-053 - 黄马没有遇到什么有意思的性能问题 感想,性能问题的解决,依赖人对整个计算机运行的理解 对程序运行环境的理解:什么语言、什么系统、什么CPU、什么硬盘等等 有可能出现哪些问题,重点观察对应的指标,印证猜想,找对应的方案
作者回复: 很不错的感想。的确,知道得多很重要。
2019-12-023 - 锋子小串串感谢庄老师,带我重新认识了不一样的性能世界。
作者回复: 谢谢,也很高兴能有些帮助!
2020-03-092 - 西西弗与卡夫卡早期为了快速发展业务,公司使用了Ruby,开发是快,但扛不住多少访问量。后来业务验证之后,就更换成Java。在不同业务阶段,在快速验证和提升性能之间选择不同策略。
作者回复: 对,Java应该更有效些。不过比起C++来,C++又胜一筹了。这就是开发速度和效率的关系。一般后端用C++和Java比较多,因为需要高效率。
2019-12-032 - 蔡森冉老师我是一个测试主要是功能和业务,遇到问题是公司3000用户的特殊购物网站,需要线下资质审核过了才能注册使用网站购物,也就是实际业务流程最大在线用户数在3000左右。但是用着32核128g数据库,一个4核16g和8核32g的服务器,30M专线。到周年庆时cpu暴增到90多,数据库一直卡死,然后增加大量硬件。秒杀页面正常秒杀未开始时候需要多次尝试才能进入到页面。真的很头疼,然后自己开始性能学习
作者回复: 嗯,每个生产系统的情况都不太一样,多测量一下各种性能指标,慢慢就有感觉了。
2020-03-301 - :)老师讲得太好了!这课性价比 太高了!
作者回复: 太谢谢了!更加有干劲了,努力做得更好!
2019-12-031 - humor以前在一个方法上使用了synchronous关键字,自己测试觉得没问题,发布到线上之后,系统就特别慢,各种超时…以后再也不敢随便用锁了
作者回复: 恩,尽量把锁的范围变小;只锁绝对需要锁的地方。
2019-12-031
收起评论