加入收藏 | 设为首页 | 会员中心 | 我要投稿 52站长网 (https://www.52zhanzhang.cn/)- 视觉智能、行业智能、经验、自然语言处理、AI应用!
当前位置: 首页 > 综合聚焦 > 人物访谈 > 人物 > 正文

Linus Torvalds:不写文档,却铸就千万开发者的性能信仰

发布时间:2026-10-14 08:19:19 所属栏目:人物 来源:DaWei
导读:  哎你说奇怪不奇怪,Linus这老哥连文档都不写,结果Linux内核现在成了性能调优的圣经——我上周刚在真机上复现了个死锁,排查到一半发现是十年前的代码注释写的「这行可能有问题但先放着」,结果你猜怎么着?那行代码现在还

  哎你说奇怪不奇怪,Linus这老哥连文档都不写,结果Linux内核现在成了性能调优的圣经——我上周刚在真机上复现了个死锁,排查到一半发现是十年前的代码注释写的「这行可能有问题但先放着」,结果你猜怎么着?那行代码现在还在跑,而且性能比新写的模块还稳。

  我原以为这种「不写文档靠口碑」的模式早该翻车了,结果上周灰度发布时,后端突然把某个接口的返回字段从驼峰改成了下划线——你猜怎么着?全组没一个人看文档,全靠直接调用,结果线上白屏率直接飙到12%。这时候倒没人怪Linus不写文档了,反而开始研究他怎么把代码写得「自解释」到连注释都多余。

  机箱风扇转得嗡嗡响,我盯着终端里卡在87%的构建进度条——这破机器还是三年前买的,散热口积了半厘米厚的灰。隔壁前端小王突然凑过来:「你说Linus要是写前端,会不会把CSS都内联到JS里?」我差点把咖啡喷屏幕上:「他连C的注释都嫌多余,你还指望他写样式?」

  但话说回来,去年我接手过一个老项目,那文档写得那叫一个漂亮——从设计模式到异常处理,连变量命名规则都写了二十页。结果跑起来呢?内存泄漏像漏水的水龙头,每次热更新都要清缓存,最后发现是文档里写的「推荐使用」的某个库,在三年前就被官方标记为「不推荐生产环境使用」。反倒是那些「没文档」的代码,比如Linux内核里某些驱动模块,你盯着汇编看半天都搞不懂的优化技巧,人家硬是靠十年如一日的迭代,把性能榨到了硬件极限。

  水杯底结的那圈渍快把桌子染黄了,我伸手去拿纸巾,结果碰倒了外卖袋——塑料袋哗啦一声,惊得测试小妹从工位上弹起来。她正盯着手机里的埋点数据,突然喊:「这按钮的点击热区怎么比设计稿小了10px?」我瞥了眼她的屏幕:「你切图时是不是没考虑视网膜屏的2倍图?」她翻了个白眼:「文档里没写啊!」我乐了:「Linus要是写文档,估计就写俩字——『看代码』。」

文章配图,仅供参考

  线上事故复盘时,产品经理拍着桌子喊:「为什么没人发现这个接口超时会导致整个页面卡死?」我默默打开Chrome DevTools,指着Network面板里那个标红的请求:「因为文档里写的是『推荐设置5秒超时』,但实际跑起来,后端有时候要8秒才返回。」产品经理愣了:「那文档怎么不更新?」我耸耸肩:「Linus要是写文档,估计连『推荐』俩字都懒得写——他直接改代码,让超时时间自适应网络状况。」

  说回性能优化,上周我遇到个奇葩问题:某个模块在开发环境跑得好好的,一到真机就崩溃。排查了三天,最后发现是某个第三方库在ARM架构下有个未初始化的指针——而文档里明确写着「支持所有主流架构」。我原以为这种低级错误早该被淘汰了,结果在Linux内核的某个驱动里,居然看到过类似的「未初始化变量」注释,但人家后面跟着一行:「别动它,这是为了优化寄存器分配。」我盯着那行注释看了半小时,最后发现——还真是这么回事。

  测试小妹凑过来:「你说Linus要是写前端,会不会把React的虚拟DOM给扔了?」我摇摇头:「他连C++都嫌复杂,还React?」她指着屏幕里的回流重绘警告:「那这些性能问题怎么解决?」我指了指终端里正在编译的Linux内核:「靠代码自己进化——你看这十年,内核里的锁机制从大锁拆成了细粒度锁,内存管理从伙伴系统进化到了SLUB,但文档呢?还是十年前那套。」

  构建进度条终于跳到100%,我点开打包后的文件——好家伙,比上次大了2MB。正琢磨怎么优化,突然听到后端老张在吼:「谁把我的接口返回字段从数组改成了对象?」我探头看了眼他的屏幕:「文档里没写不能改啊?」他气得直拍键盘:「Linus要是写文档,估计就写『别改,除非你比我还懂性能』!」

  说到底,Linus的模式能活到现在,靠的就是「优胜劣汰」——代码写得烂的,早被社区喷死了;优化没效果的,早被淘汰了;文档写得好但代码跑不快的,连提交PR的资格都没有。我上周试着给某个开源项目提了个性能优化的PR,结果审核的人第一句话就是:「跑过真实场景吗?压测数据呢?」我发过去测试报告,他看了五秒,回了个「LGTM」——连「为什么这么改」都没问。

  机箱风扇还在转,水杯底的渍又厚了一层。我关掉三十来个浏览器标签,突然想起Linux内核里那个著名的「注释」——不是文字,而是一行空行,后面跟着个「/」和「/」,中间什么都没写。有人说这是Linus故意留的,意思是「这里该你动手了」;也有人说是编辑器误操作。但不管怎么说,这行「空注释」在内核里存了十年,没人敢删——因为没人知道删掉会不会影响性能。

  所以下次要是有人跟你说「文档很重要」,你就回他:「去看看Linux内核的代码——要是文档真有用,Linus早该被喷退休了。」当然,这话别让产品经理听见——他可能会让你把这句话也写进文档里。

(编辑:52站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!