无主之地2配置高吗|看真人裸体BBBBB|秋草莓丝瓜黄瓜榴莲色多多|真人強奷112分钟|精品一卡2卡3卡四卡新区|日本成人深夜苍井空|八十年代动画片

網(wǎng)易首頁 > 網(wǎng)易號(hào) > 正文 申請(qǐng)入駐

性能真的不重要了嗎?Jeff Dean給出反常答案

0
分享至


新智元報(bào)道

編輯:傾傾

【新智元導(dǎo)讀】很多人背著「過早優(yōu)化是萬惡之源」的名言,寫出的卻是處處漏風(fēng)的代碼。Google傳奇Jeff Dean的這份筆記破了真相:性能不是最后調(diào)出來的,而是你在選第一個(gè)容器、敲第一行代碼時(shí),就已經(jīng)注定的物理結(jié)局。

2025年,是個(gè)很容易讓人產(chǎn)生錯(cuò)覺的時(shí)間點(diǎn)。

這時(shí)算力不再稀缺,云資源隨叫隨到,AI已經(jīng)能寫出準(zhǔn)確無誤的代碼。

在這樣的環(huán)境里,「性能」似乎正在悄悄貶值。因?yàn)榇a寫得慢一些,好像也沒什么大不了。

就在這種氛圍下,Google的傳奇工程師Jeff Dean更新了一份老文檔:Performance Hints。


比起一篇炫技的論文,它更像是一份老派工程師的隨筆,里面重新整理了基礎(chǔ)法則。

它反復(fù)重申一個(gè)事實(shí):計(jì)算機(jī)底層的物理規(guī)則,從未因?yàn)樵圃?、AI或硬件的進(jìn)步而改變。

硬件的進(jìn)步掩蓋了代碼的低效,這些問題會(huì)在系統(tǒng)中不斷堆積,直到成為無法繞開的成本。

「過早優(yōu)化」,成了平庸代碼的豁免權(quán)

所有工程師都聽過一句老話:

Premature optimization is the root of all evil.(過早優(yōu)化是萬惡之源)。

它原本是提醒我們,別為了摳幾行代碼,把系統(tǒng)搞成一團(tuán)亂麻。

但在實(shí)踐中,這句話慢慢變了味,成了一個(gè)免責(zé)口令——只要遇到性能質(zhì)疑,一句「別過早優(yōu)化」就能把所有問題擋回去。

結(jié)果走向了另一個(gè)極端:寫代碼時(shí),性能被整體忽略。抽象可以多一層,數(shù)據(jù)可以多拷貝一次,API可以寫得更「通用」。


瑞士奶酪模型:單個(gè)小漏洞沒事,但是一層層疊加,對(duì)齊了會(huì)出大事

大家總覺得將來有profiler,等真慢下來再說。

可等系統(tǒng)上線,流量涌入,響應(yīng)開始變拖沓,大家終于打開性能分析圖,卻發(fā)現(xiàn)屏幕上什么都沒有。

沒有一個(gè)函數(shù)占掉40%的時(shí)間,沒有明顯的性能熱點(diǎn)。你看到的只有一張異常平坦的火焰圖——每一層都慢一點(diǎn),每一個(gè)看似無關(guān)緊要的選擇,都給未來埋下隱患。

你很難指出哪里出了錯(cuò),因?yàn)閱栴}從一開始就沒有集中出現(xiàn)——這正是Jeff Dean反復(fù)強(qiáng)調(diào)的一種模式。

性能不是被某個(gè)錯(cuò)誤決定拖垮的,而是被一連串「看起來沒問題」的決策慢慢稀釋掉的。


一旦走到這一步,優(yōu)化會(huì)變得異常昂貴,因?yàn)槟闶チ嗣鞔_的下手點(diǎn)。

所謂「關(guān)鍵的3%」,指的從來不是寫完代碼后再去摳字眼,而是在寫第一行代碼時(shí),就要避開那些雖然方便、但明顯低效的路徑。

這不只是技巧,更像一種素養(yǎng)。真正拉開差距的地方,往往發(fā)生在profiler還沒派上用場之前。

5ns和5ms之間,隔著整個(gè)物理世界

如果說前面的區(qū)別發(fā)生在「已經(jīng)來不及了」,那么接下來要說的是:「為什么我們會(huì)在一開始就走錯(cuò)路」。

事實(shí)上,很多工程事故并不是因?yàn)椤覆粫?huì)優(yōu)化」,而是因?yàn)閷?duì)「慢」沒有感覺。

在編輯器里,5ns和5ms看起來只是多了幾個(gè)0??s進(jìn)一樣,語法一樣,在Code Review時(shí)看起來合理合規(guī)。

但在物理世界,這些數(shù)字根本不屬于同一個(gè)尺度。

Jeff Dean在清單里列出了一張延遲對(duì)照表。一旦把這些數(shù)字還原成現(xiàn)實(shí)中的時(shí)間,很多所謂的設(shè)計(jì)直覺會(huì)當(dāng)場崩塌。

  • L1緩存命中:約0.5ns,等于微觀世界里的一次脈搏。

  • 分支預(yù)測失敗:5ns,是連續(xù)十次脈搏。

  • 主存訪問:50ns,相當(dāng)于起個(gè)身,走下樓,取了個(gè)外賣。

  • 隨機(jī)磁盤尋址:10000000ns,相當(dāng)于從北京一路走到了上海。


最早由Google工程師整理,Jeff Dean在多次演講中用過這個(gè)思路

如果你的方案里出現(xiàn)了一次磁盤尋址,后面無論代碼寫得多優(yōu)雅、邏輯多漂亮,在物理尺度上都已經(jīng)輸透了。

這就是頂級(jí)工程師腦子里的「物理地圖」。他們本能地知道:哪些操作屬于同一量級(jí),而哪些操作一旦混進(jìn)來,系統(tǒng)的節(jié)奏就徹底亂了。

這也是「信封背面估算」(Back-of-the-envelope calculation)的價(jià)值所在。

它是一次動(dòng)手之前的排查:這個(gè)方案會(huì)觸發(fā)多少次內(nèi)存訪問?有沒有隱藏的分配?循環(huán)里會(huì)不會(huì)撞上網(wǎng)絡(luò)IO?

如果答案里出現(xiàn)了一個(gè)不合時(shí)宜的量級(jí),這個(gè)方案就應(yīng)該被扔進(jìn)垃圾桶。

很多性能問題并非「實(shí)現(xiàn)得不夠好」,而是選錯(cuò)了路徑。

一旦建立起這種尺度感,很多無意義的爭論就能一眼看穿。

反直覺的真相:Google大佬的代碼為什么看起來很「土」?

真正拉開差距的地方,不在于「寫得多聰明」,而在于知道哪些地方「不值得聰明」。

翻開這份Performance Hints,我們能發(fā)現(xiàn)一個(gè)反直覺的事實(shí):沒有復(fù)雜的算法,很多改動(dòng)看起來都有點(diǎn)「土」。

但這些細(xì)碎的選擇,卻被Jeff Dean反復(fù)拿出來強(qiáng)調(diào)。

對(duì)內(nèi)存的節(jié)制

「尺度感」讓我們意識(shí)到分配內(nèi)存的珍貴,在實(shí)戰(zhàn)中,這種意識(shí)會(huì)轉(zhuǎn)化成對(duì)容器的極致考究。

為什么他們偏愛InlinedVector?因?yàn)樵诮^大多數(shù)場景下,它根本不碰堆內(nèi)存,數(shù)據(jù)直接躺在棧上。

這帶來的是實(shí)實(shí)在在的物理收益:少一次分配,多一次緩存命中。

同樣的,使用Arena(內(nèi)存池)也不只是為了管理方便,而是為了讓數(shù)據(jù)在物理內(nèi)存上變得連續(xù),順應(yīng)CPU緩存的節(jié)奏。

對(duì)數(shù)據(jù)分布的尊重

所謂的Fast Path(快路徑),本質(zhì)上是承認(rèn)世界是不均勻的。99%的請(qǐng)求和輸入都比想象中普通。

如果堅(jiān)持讓每一次調(diào)用都走那條「最通用、最保險(xiǎn)」的路,實(shí)際上是在用極少數(shù)的邊緣情況,綁架絕大多數(shù)的正常流量。


清單里提到的UTF-8處理就是一個(gè)典型:現(xiàn)實(shí)中大量字符串其實(shí)只有純ASCII字符。

如果一上來就按完整的解析邏輯走,那每一個(gè)字節(jié)都在為萬分之一的極端情況買單。

看一眼,是ASCII就直接放行——這種行為,建立在對(duì)數(shù)據(jù)規(guī)律的尊重之上。

對(duì)抽象成本的自覺

清單里舉了個(gè)例子:把Protobuf邏輯改成原生結(jié)構(gòu)體,性能提升20倍,讓很多人不安。

Protobuf確實(shí)解決了跨語言和版本演進(jìn)的難題,但便利從不是免費(fèi)的,每一層封裝、每一次解析,都是一筆隱蔽的「抽象稅」。

就像在透支信用卡,你可以盡情購物,可一旦賬單寄來,就要付出相應(yīng)代價(jià)。


抽象并不會(huì)消失,只是被編譯器展開,最終落實(shí)到一行行具體的實(shí)現(xiàn)上。

當(dāng)抽象層數(shù)不斷疊加,成本也會(huì)在底層被一并兌現(xiàn)。

這就是為什么他們建議在熱路徑里避開不必要的層級(jí)、避開那些「為了完整而完整」的設(shè)計(jì)。

目的是讓你清楚地意識(shí)到,你到底在為什么付費(fèi)。

頂級(jí)工程師關(guān)心的,從來不是如何寫出最聰明的代碼,而是如何避免那些本不該出現(xiàn)的開銷。

當(dāng)你在敲鍵盤時(shí),能對(duì)分配、分布、抽象成本保持警惕,很多性能瓶頸在發(fā)生之前,就已經(jīng)被擋在了門外。

想提高性能,就不能對(duì)代價(jià)視而不見

很多人把性能理解成一種階段性的工作:系統(tǒng)慢了,就開始優(yōu)化;不慢,就先放一邊。

但讀完這份清單,你很難再這樣看待它。

Jeff Dean們反復(fù)強(qiáng)調(diào)的,其實(shí)不是「如何省下幾納秒」,而是「你是否真正理解自己正在使用的計(jì)算資源」。

CPU、內(nèi)存、緩存、磁盤......這些底層的物理規(guī)律并沒有因?yàn)樵圃駻I的流行而消失,它們只是被包裝得更抽象了。

頂級(jí)工程師之所以顯得從容,是因?yàn)樗麄兒苌僮叩健富饒觥估铮涸趯懙谝恍写a時(shí),他們就已經(jīng)避開了那些注定昂貴的路徑。

這份Performance Hints讀起來不像教程,更像是一份肌肉記憶。它不要求你處處極限優(yōu)化,而是要求你在做決策時(shí),不要假裝不知道代價(jià)。

也許真正的分界線一直是——當(dāng)你寫下一個(gè)循環(huán)、設(shè)計(jì)一個(gè)數(shù)據(jù)結(jié)構(gòu)、決定要不要多加一層時(shí),腦海中是否浮現(xiàn)出那張時(shí)間和尺度的地圖。

一旦有了它,很多平庸的代碼,你就再也寫不下去了。

參考資料:

https://x.com/JeffDean/status/2002089534188892256?s=20

秒追ASI

?點(diǎn)贊、轉(zhuǎn)發(fā)、在看一鍵三連?

點(diǎn)亮星標(biāo),鎖定新智元極速推送!

特別聲明:以上內(nèi)容(如有圖片或視頻亦包括在內(nèi))為自媒體平臺(tái)“網(wǎng)易號(hào)”用戶上傳并發(fā)布,本平臺(tái)僅提供信息存儲(chǔ)服務(wù)。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相關(guān)推薦
熱點(diǎn)推薦
王勵(lì)勤喊話歸隊(duì)前,樊振東原來早鋪好三條路了,條條都有搞頭

王勵(lì)勤喊話歸隊(duì)前,樊振東原來早鋪好三條路了,條條都有搞頭

林子說事
2026-05-30 13:22:45
姐弟戀:從纏綿相擁,走到敷衍擺爛

姐弟戀:從纏綿相擁,走到敷衍擺爛

飛娛日記
2026-04-28 07:19:17
歷史不會(huì)重演,但會(huì)驚人相似:中國樓市極大可能重走2015年老路?

歷史不會(huì)重演,但會(huì)驚人相似:中國樓市極大可能重走2015年老路?

專業(yè)聊房君
2026-05-29 08:37:43
這就是公開辱華的后果!取消冠軍頭銜只是開始,職業(yè)生涯也全毀了

這就是公開辱華的后果!取消冠軍頭銜只是開始,職業(yè)生涯也全毀了

阿鳧愛吐槽
2025-12-17 17:24:39
王毅訪問剛結(jié)束,加拿大民眾卻怒了:卡尼總理,你到底站哪邊?

王毅訪問剛結(jié)束,加拿大民眾卻怒了:卡尼總理,你到底站哪邊?

涼湫瑾言
2026-05-30 16:13:29
阿森納1次換人成敗筆!埃澤出場0進(jìn)球+點(diǎn)球打偏,主帥成全隊(duì)短板

阿森納1次換人成敗筆!埃澤出場0進(jìn)球+點(diǎn)球打偏,主帥成全隊(duì)短板

體育知多少
2026-05-31 03:43:02
澤連斯基拜鬼,很難相信這是一個(gè)精神正常的人能干出來的事

澤連斯基拜鬼,很難相信這是一個(gè)精神正常的人能干出來的事

書寫傳奇
2026-05-27 21:21:27
她憑一己之力,把吳某凡送進(jìn)監(jiān)獄,沒想到如今也栽了,不值得同情

她憑一己之力,把吳某凡送進(jìn)監(jiān)獄,沒想到如今也栽了,不值得同情

探源歷史
2026-04-25 19:19:53
央視曝光4種“致癌日用品”,家里千萬別囤!很多人還被蒙在鼓里

央視曝光4種“致癌日用品”,家里千萬別囤!很多人還被蒙在鼓里

39健康網(wǎng)
2026-05-27 10:32:46
首個(gè)產(chǎn)銷破1億輛的中國車企誕生

首個(gè)產(chǎn)銷破1億輛的中國車企誕生

國際金融報(bào)
2026-05-29 08:20:48
老板聚餐沒喊我,我到點(diǎn)關(guān)機(jī)下班,第二天,老板:你這是在搞事啊

老板聚餐沒喊我,我到點(diǎn)關(guān)機(jī)下班,第二天,老板:你這是在搞事啊

千秋文化
2026-05-28 19:34:31
成都南京紛紛落選!第五直轄市熱門城市,沒想到是這座城市

成都南京紛紛落選!第五直轄市熱門城市,沒想到是這座城市

智慧生活筆記
2026-05-29 20:26:15
baby為報(bào)復(fù)黃曉明找多名男模酒店劇本殺!每人3000,吞云吐霧很老練

baby為報(bào)復(fù)黃曉明找多名男模酒店劇本殺!每人3000,吞云吐霧很老練

八卦王者
2026-05-30 13:48:03
扎波羅熱反擊收尾,烏軍沒有趕走庫班西部空降兵,東部將兵臨城下

扎波羅熱反擊收尾,烏軍沒有趕走庫班西部空降兵,東部將兵臨城下

堅(jiān)果甜瓜
2026-05-31 00:07:07
總決賽第三場了,難道不能像快速出爐罰單一樣揭開白邊神秘面紗嗎

總決賽第三場了,難道不能像快速出爐罰單一樣揭開白邊神秘面紗嗎

格斗社
2026-05-30 18:14:15
高處不勝寒!阿拉貢站失利是張雪機(jī)車的以退為進(jìn),以免對(duì)手絕望

高處不勝寒!阿拉貢站失利是張雪機(jī)車的以退為進(jìn),以免對(duì)手絕望

林子說事
2026-05-31 01:07:50
晴天霹靂!內(nèi)馬爾重傷恐無緣世界杯,安切洛蒂或用棄將頂替他

晴天霹靂!內(nèi)馬爾重傷恐無緣世界杯,安切洛蒂或用棄將頂替他

瀾歸序
2026-05-30 06:50:41
湖北省召開全省領(lǐng)導(dǎo)干部會(huì)議 宣布中央關(guān)于省委主要負(fù)責(zé)同志調(diào)整決定

湖北省召開全省領(lǐng)導(dǎo)干部會(huì)議 宣布中央關(guān)于省委主要負(fù)責(zé)同志調(diào)整決定

澎湃新聞
2026-05-30 12:58:07
中超一夜變天:國安讀秒3-2大逆轉(zhuǎn),申花七輪不勝陷保級(jí)深淵

中超一夜變天:國安讀秒3-2大逆轉(zhuǎn),申花七輪不勝陷保級(jí)深淵

小僫搞笑解說
2026-05-31 02:50:28
成熟女人的打扮,要的就是這種感覺

成熟女人的打扮,要的就是這種感覺

美女穿搭分享
2026-05-29 20:27:29
2026-05-31 04:07:00
新智元 incentive-icons
新智元
AI產(chǎn)業(yè)主平臺(tái)領(lǐng)航智能+時(shí)代
15343文章數(shù) 66893關(guān)注度
往期回顧 全部

科技要聞

車圈大佬發(fā)聲:價(jià)格戰(zhàn)遠(yuǎn)去,但競爭仍殘酷

頭條要聞

兩名9歲女孩被困電梯近2小時(shí) 求救幾十次物業(yè)無動(dòng)于衷

頭條要聞

兩名9歲女孩被困電梯近2小時(shí) 求救幾十次物業(yè)無動(dòng)于衷

體育要聞

歲月不饒人!39歲德約鏖戰(zhàn)近5小時(shí)拼到嘔吐

娛樂要聞

張碧晨《歌手》 “活人微死” 自嘲

財(cái)經(jīng)要聞

雙匯管不住一頭豬

汽車要聞

900V+3.2秒破百 領(lǐng)克10+&領(lǐng)克10上市16.99萬元起

態(tài)度原創(chuàng)

房產(chǎn)
時(shí)尚
旅游
手機(jī)
軍事航空

房產(chǎn)要聞

紅動(dòng)五月!全國搶入核心資產(chǎn),廣州盯緊凱旋新世界!

美回巔峰的她們,帶火的這些爆款真的好用嗎

旅游要聞

伊利亮相2026“跟著品牌去旅行”對(duì)接交流活動(dòng) 以工業(yè)文旅融合彰顯中國品牌力量

手機(jī)要聞

REDMI K90至尊版入網(wǎng)?K90單品激活破200萬

軍事要聞

美防長參加"香會(huì)" 就美中關(guān)系最新表態(tài)

無障礙瀏覽 進(jìn)入關(guān)懷版