为什么优秀的工程师,都要关心代码性能?
网站优化
发布者:cya
2019-12-06 08:43
访问量:210
过去三十年,互联网江湖风云变幻。但无论技术如何迭代,互联网界都有一个亘古不变的追求——性能和效率。一些程序员,尤其是刚工作不久的程序员可能会觉得,自己写出来的代码只要没有 bug,就已经很好了,哪里还有精力去追求性能和效率?只有运维、测试、或者高级技术人员,才有学习性能优化的必要。但其实,性能优化和容量效率对公司而言越来越重要,并且已经是每个程序员的必备加分项。其中有三个原因:今天的互联网服务(尤其对大厂而言)有两个显著特点:大规模(大数据、用户多等)和高要求(低延迟、高吞吐等),这就必然要求服务的高性能和容量的高效率。不夸张地说,当今互联网,得性能者得天下。你写的代码的性能,将直接影响产品的用户量和公司的运营成本。第二,性能和容量效率是每个技术和管理人员的进阶必备技能。想要进阶更高职位,每个互联网从业人员都需要具备这些知识。掌握了这些知识,开发工程师在开发软件时才能写出更高性能的代码;运维工程师才能懂得如何监测和提高系统的性能;测试工程师才可以通览软件测试的分类和方法;技术 leader 就能了解如何进行容量管理,提升服务效率并降低运营成本,等等。第三,性能优化和容量效率会帮助延长“职业生命”,可以“越老越吃香”。在硅谷的很多公司,负责性能优化和容量管理的工程师都由一些年龄较大,工作经验丰富的员工担任。因为他们足够有经验,能够帮助公司提升业务性能和容量效率,节省运营成本。随着业务规模的扩展,公司也越来越离不开他们。国内也有同样的趋势。但是,做好性能优化和容量效率工作并不容易。首先,虽然各种“性能测试”和“性能调优”相关的知识有很多,比如JVM调优、操作系统调优等,但是系统地介绍“性能工程”的资料却很少。其次,性能和容量效率的工作还需要各种软技能,这种学习和积累需要相当长的时间,如果没有前人引路,只靠自己慢慢摸索,不太可能高效进阶。性能问题通常是复杂的,性能工程师可以类比成“医生”,二者解决问题的思路是一样的。下面这张图可以对比这两种场景。可以看到,现实中解决问题的思路通常是:问题→测试→分析→优化→实践。
关键字:
http://m.chenzhankj.com/wzyh/635.html