写点什么

读《A Philosophy of Software Design》——(20)

作者:术子米德
  • 2022 年 4 月 07 日
  • 本文字数:648 字

    阅读完需:约 2 分钟

🤔☕️🤔☕️🤔

  • 读《A Philosophy of Software Design》——(20)Designing for Performance

  • 📖:性能来自简单,而且系统会因简单而更快,并非因为快而高性能。

    🤔:性能,设计出来,还是优化出来,这是个问题。没经验时,先跑起来再说,其它只能预估。有经验时,预先会判断那些点,可能会是瓶颈点,如何度量那些点的余量,到跑起来后,盯着实际的数据,比对理论预估。当然,还会有黑天鹅出现,也就是认知之外的瓶颈,这就会成为下一个迭代的预估瓶颈点。从只会看 CPU 使用率,到关注每个模块的 IPC,这是调试了多少次优化,才积累下来的经验。可是,看到这些还不屑一顾,典型属于没有切身的优化体感。

    🤔:另一方面,不得不补充的是,优化是否需要很多知识。传统的观点回答“是”,对于这点,我有不同的想法。个人经验发现,优化最关键的是找硬件的边界,也就是完成一个功能的全过程,到底要用到哪些硬件,每个硬件点的最大能力,或则叫最大性能到底是多少。那么优化就是在逼近硬件能力的最大发挥。所以从问题点,直接摸到硬件边界,跳过中间所有的东西,更能够推进优化。否则,很容易被中间的各种实现困扰,不搞明白好像前进不了,可是搞明白也不是简单的事情,需要非常多的额外领域知识,才能明白这些软件到底在干嘛。

    🤔:性能,我更喜欢用另一个词,叫作匹配。做一件事情的时候,沿途的硬件刚刚好匹配的时候,就是性能的极致时刻,没有任何一点浪费。而任何一个硬件点不匹配,就会成为瓶颈点,也就是性能卡脖子的地方,其它所有地方的闲余都会成为浪费。

        —— By 术子米德 @2022.04.07

发布于: 刚刚阅读数: 2
用户头像

术子米德

关注

遇见每天的自己,莫忘初心,莫丢念头 2020.03.05 加入

喜欢有的没的,喜欢自言自语式笔记

评论

发布
暂无评论
读《A Philosophy of Software Design》——(20)_架构师成长笔记_术子米德_InfoQ写作平台