文章总结: 文章推荐JeffDean的性能优化指南,强调在数据中心背景下通用性能调优的重要性。核心内容涵盖估算、测量、API选择、算法改进、内存管理及并发优化等步骤,旨在建立正确的优化思维顺序。文章结合Google开源的absl库实例,建议开发人员掌握性能技巧以提升代码效率。 综合评分: 88 文章分类: 安全开发
G.O.S.S.I.P 阅读推荐 2025-12-22 Jeff Dean性能优化圣经
原创
G.O.S.S.I.P
安全研究GoSSIP
2025年12月22日 20:33 上海
今天先插播一则新闻,大家突然注意到一本非常老牌的计算机杂志《电脑爱好者》在本月注销了(也就是停刊并停止所有网络关联媒体),虽然在互联网时代我们早就预料到了各种传统纸媒会走向尽头(前几年《大众软件》已经让人伤感过一波了),但作为从当年阅读这本杂志学习各种计算机知识顺便对上面的广告介绍的各种新硬件心动不已的过来人,还是感觉生命中很重要的一部分随着它的注销而一起留在了时光的存档中。
30年前的计算机用户和计算机杂志讨论最多的一个问题就是性能优化而非计算机安全,回到今天的阅读推荐,我们今天也给大家介绍一篇关于性能优化的文章Performance Hints,这个标题看起来平平无奇,但是放在中文互联网语境下,只要改一下标题为《Jeff Dean性能优化圣经》,噱头一下子就有了。
对,这篇文章就是Google传奇工程师Jeff Dean和他的“好基友”Sanjay Ghemawat一起撰写的。关于这两个人的故事,大家可以去搜索一下New Yorker的一篇文章 The Friendship That Made Google Huge(果然New Yorker起标题的水平就是略高一筹啊)。
之所以要写 Performance Hints 这篇文章,大概是因为要回应高德纳(D.E.Knuth)非常有名的“premature optimization is the root of all evil”言论。想象一下现在数据中心每年消耗的电能,哪怕是随便优化一下Youtube,每年能给Google省下几个工程师的工资?而且本文强调的优化技能并不是针对什么特定的系统,而是聚焦于“general performance tuning in the context of a single binary”,因此非常值得我们每个开发人员学习。~~当然你不学习也行,AI学了取代你~~~
不过本文的第一章(估算,Estimation)明显是在致敬《编程珠玑》,但凡读过《编程珠玑》的读者都应该在看到这里的时候会心一笑。学习估计复杂度不仅仅是伟大的恩里科·费米的专利,也是我们每个程序员可以轻松学会的。文章接下来介绍了如何测量程序性能(measurement),这里也提到了许多profiler,显然还是让大家了解开发的基本功。然后文章讨论了如何选择正确的API(API considerations)之后,才进入到算法的部分(Algorithmic improvements)。大家需要注意的并不是内容本身,而是这一套思维的顺序,一步一步怎么做,先做什么后做什么其实更重要。
在现代计算机系统中,计算本身已经很快了,但是存储可能是另一个值得优化的瓶颈,所以文章用了两部分讨论内存管理(Better memory representation,Reduce allocations)。进一步,我们开始看到一些讨论如何将冗余和不重要的内容优化掉的内容(Avoid unnecessary work),不过这个地方也让我们对自己被“降本增效”产生了更多的担忧~~ 这部分的代码示例是整篇文章中相对比较多的,大家可以多花点时间阅读一下。
然后两位编程大师讨论了代码的大小对性能的影响(Code size considerations),相比起来,现在动不动就把APP做到上百兆的程序员应该感到羞耻。
最后,文章讨论了并发相关的主题(Parallelization and synchronization),在这个部分后,就介绍了一些专门的代码,这些都是Google内部使用的absl基础库,这个Google开源的优秀C++基础库有很多相关的功能,大家可以去男生交友网看看(https://github.com/abseil/abseil-cpp fork it!),也可以参考这篇“Google abseil开源项目介绍”博客文章( https://skyan.github.io/posts/abseil/ 作者Skyan)
不喜欢读英文的同学,也可以去看看有一个系列翻译(还没翻译完)。
原文:https://abseil.io/fast/hints.html
免责声明:
本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。
任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。
本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我。
本文转载自:安全研究GoSSIP G.O.S.S.I.P《G.O.S.S.I.P 阅读推荐 2025-12-22 Jeff Dean性能优化圣经》
版权声明
本站仅做备份收录,仅供研究与教学参考之用。
读者将信息用于其他用途的,全部法律及连带责任由读者自行承担,本站不承担任何责任。










评论