猫眼影戏
猫眼影戏
任桂霞
手机审查
猫眼影戏记者 洪晓 报道Q8X2R7L1T4J5M9B6W3
新智元报道
编辑:倾倾
【新智元导读】许多人背着「过早优化是万恶之源」的名言,写出的却是随处漏风的代码。Google传奇Jeff Dean的这份条记破了真相:性能不是最后调出来的,而是你在选第一个容器、敲第一行代码时,就已经注定的物理下场。
2025年,是个很容易让人爆发错觉的时间点。
这时算力不再稀缺,云资源随叫随到,AI已经能写出准确无误的代码。
在这样的情形里,「性能」似乎正在悄悄贬值。由于代码写得慢一些,似乎也没什么大不了。
就在这种气氛下,Google的传奇工程师Jeff Dean更新了一份老文档:Performance Hints。
比起一篇炫技的论文,它更像是一份老派工程师的随笔,内里重新整理了基础规则。
它重复重申一个事实:盘算机底层的物理规则,从未由于云原生、AI或硬件的前进而改变。
硬件的前进掩饰了代码的低效,这些问题会在系统中一直群集,直到成为无法绕开的本钱。
「过早优化」,成了平庸代码的宽免权
所有工程师都听过一句老话:
Premature optimization is the root of all evil.(过早优化是万恶之源)。
它原本是提醒我们,别为了抠几行代码,把系统搞成一团乱麻。
但在实践中,这句话逐步变了味,成了一个免责口令——只要遇到性能质疑,一句「别过早优化」就能把所有问题挡回去。
效果走向了另一个极端:写代码时,性能被整体忽略。笼统可以多一层,数据可以多拷贝一次,API可以写得更「通用」。
瑞士奶酪模子:单个小误差没事,可是一层层叠加,对齐了会出大事
各人总以为未来有profiler,等真慢下来再说。
可等系统上线,流量涌入,响应最先变拖沓,各人终于翻开性能剖析图,却发明屏幕上什么都没有。
没有一个函数占掉40%的时间,没有显着的性能热门。你看到的只有一张异常平展的火焰图——每一层都慢一点,每一个看似无关紧要的选择,都给未来埋下隐患。
你很难指出那里出了错,由于问题从一最先就没有集中泛起——这正是Jeff Dean重复强调的一种模式。
性能不是被某个过失决议拖垮的,而是被一连串「看起来没问题」的决议逐步稀释掉的。
一旦走到这一步,优化会变得异常腾贵,由于你失去了明确的下手点。
所谓「要害的3%」,指的历来不是写完代码后再去抠字眼,而是在写第一行代码时,就要避开那些虽然利便、但显着低效的路径。
这不但是技巧,更像一种素养。真正拉开差别的地方,往往爆发在profiler还没派上用场之前。
5ns和5ms之间,隔着整个物理天下
若是说前面的区别爆发在「已经来缺乏了」,那么接下来要说的是:「为什么我们会在一最先就走错路」。
事实上,许多工程事故并不是由于「不会优化」,而是由于对「慢」没有感受。
在编辑器里,5ns和5ms看起来只是多了几个0。缩进一样,语法一样,在Code Review时看起来合理合规。
但在物理天下,这些数字基础不属于统一个标准。
Jeff Dean在清单里列出了一张延迟比照表。一旦把这些数字还原成现实中的时间,许多所谓的设计直觉会就地崩塌。
L1缓存掷中:约0.5ns,即是微观天下里的一次脉搏。
分支展望失败:5ns,是一连十次脉搏。
主存会见:50ns,相当于起个身,走下楼,取了个外卖。
随机磁盘寻址:10000000ns,相当于从北京一起走到了上海。
最早由Google工程师整理,Jeff Dean在多次演讲中用过这个思绪
若是你的计划里泛起了一次磁盘寻址,后面无论代码写得多优雅、逻辑多漂亮,在物理标准上都已经输透了。
这就是顶级工程师脑子里的「物理地图」。他们本能地知道:哪些操作属于统一量级,而哪些操作一旦混进来,系统的节奏就彻底乱了。
这也是「信封背面估算」(Back-of-the-envelope calculation)的价值所在。
它是一次下手之前的排查:这个计划会触发几多次内存会见?有没有隐藏的分派?循环里会不会撞上网络IO?
若是谜底里泛起了一个不适时宜的量级,这个计划就应该被扔进垃圾桶。
许多性能问题并非「实现得不敷好」,而是选错了路径。
一旦建设起这种标准感,许多无意义的争论就能一眼看透。
反直觉的真相:Google大佬的代码为什么看起来很「土」?
真正拉开差别的地方,不在于「写得多智慧」,而在于知道哪些地方「不值得智慧」。
掀开这份Performance Hints,我们能发明一个反直觉的事实:没有重大的算法,许多改动看起来都有点「土」。
但这些细碎的选择,却被Jeff Dean重复拿出来强调。
对内存的控制
「标准感」让我们意识到分派内存的珍贵,在实战中,这种意识会转化成对容器的极致考究。
为什么他们偏幸InlinedVector?由于在绝大大都场景下,它基础不碰堆内存,数据直接躺在栈上。
这带来的是实着实在的物理收益:少一次分派,多一次缓存掷中。
同样的,使用Arena(内存池)也不但是为了治理利便,而是为了让数据在物理内存上变得一连,顺应CPU缓存的节奏。
对数据漫衍的尊重
所谓的Fast Path(快路径),实质上是认可天下是不匀称的。99%的请求和输入都比想象中通俗。
若是坚持让每一次挪用都走那条「最通用、最包管」的路,现实上是在用少少数的边沿情形,绑架绝大大都的正常流量。
清单里提到的UTF-8处置惩罚就是一个典范:现实中大宗字符串着实只有纯ASCII字符。
若是一上来就按完整的剖析逻辑走,那每一个字节都在为万分之一的极端情形买单。
看一眼,是ASCII就直接放行——这种行为,建设在对数据纪律的尊重之上。
对笼统本钱的自觉
清单里举了个例子:把Protobuf逻辑改成原生结构体,性能提升20倍,让许多人担心。
Protobuf确实解决了跨语言和版本演进的难题,但便当从不是免费的,每一层封装、每一次剖析,都是一笔隐藏的「笼统税」。
就像在透支信用卡,你可以恣意购物,可一旦账单寄来,就要支付响应价钱。
笼统并不会消逝,只是被编译器睁开,最终落实到一行行详细的实现上。
当笼统层数一直叠加,本钱也会在底层被一并兑现。
这就是为什么他们建议在热路径里避开不须要的层级、避开那些「为了完整而完整」的设计。
目的是让你清晰地意识到,你究竟在为什么付费。
顶级工程师体贴的,历来不是怎样写出最智慧的代码,而是怎样阻止那些本不应泛起的开销。
当你在敲键盘时,能对分派、漫衍、笼统本钱坚持小心,许多性能瓶颈在爆发之前,就已经被挡在了门外。
想提高性能,就不可对价钱置若罔闻
许多人把性能明确成一种阶段性的事情:系统慢了,就最先优化;不慢,就先放一边。
但读完这份清单,你很难再这样看待它。
Jeff Dean们重复强调的,着实不是「怎样省下几纳秒」,而是「你是否真正明确自己正在使用的盘算资源」。
CPU、内存、缓存、磁盘......这些底层的物理纪律并没有由于云原生或AI的盛行而消逝,它们只是被包装得更笼统了。
顶级工程师之以是显得从容,是由于他们很少走到「火场」里:在写第一行代码时,他们就已经避开了那些注定腾贵的路径。
这份Performance Hints读起来不像教程,更像是一份肌肉影象。它不要求你随处极限优化,而是要求你在做决议时,不要冒充不知道价钱。
也许真正的分界线一直是——当你写下一个循环、设计一个数据结构、决议要不要多加一层时,脑海中是否浮现出那张时间和标准的地图。
一旦有了它,许多平庸的代码,你就再也写不下去了。
参考资料:
https://x.com/JeffDean/status/2002089534188892256?s=20
秒追ASI
?点赞、转发、在看一键三连?
点亮星标,锁定新智元极速推送!
??时势1:永久免费 未满男
??12月30日,关于美国奥运选手埃里扬·奈顿类固醇阳性的声明 ,
它所留躯体算不得超等重大,有六米长,但凶兽强与否并不以体形来论,眼前这头狻猊就是最好的证实。
,95视频a片免费。??12月30日,大学工程新专利如何为制造业升级“添把火”——聚焦高校传统工程专业成果转化,
光雨喷薄,倾注而下,无尽鳞片闪灼,欲击穿这轮神月、将小不点洞穿成筛子。
,男女互c小说,高清视屏免费av,课代表让我吃他的小兔兔。??时势2:免费A片一级视品
??12月30日,高温橙色预警继续!三省份局地将超40℃,华北东北多强对流天气,
“你们这些恶狼,速速退走!”小不点叫道。
,欧美A人精品综合在线,日本少妇 HaD,97超碰人妻在线播放。??12月30日,贯彻习近平总书记新年贺词精神 国台办:坚持团结广大台湾同胞,

??时势3:天天久久狼狼色综合
??12月30日,15天增927家 旅游带动哈尔滨市场主体注册量大幅上涨,
二、班主任要全力投入班级事情
,欧洲夜色AAAA,爱情岛tv国际品质,嘿咻视频视频在线网站。??12月30日,北京推动数字经济特色化发展 构建“一区一品”新格局,
二 强化生产治理,树立节约意识。
,视色影视,国产高清黄色视频,玖辛奈被鸣人 黄。??时势4:国产AV实自拍
??12月30日,各地各高校面向2025届高校毕业生已累计举办大型招聘活动9.2万场,
??12月30日,印尼今年第二季度经济同比增长5.05%,
关爱生命,就要求各人注重清静。在一样平常生涯中,交通清静总是围绕在我们身边。只要你一出行,便同交通打上了交道。
,仙逆在线观看视频完整版75集,日本黄色电影免费观看,美日韩色色色。【江山如画|蒙古马:铁骑奔如风 草原建奇功】
责编:刘慧芳
审核:齐藤铁夫
责编:张廷婷
Copyright (C) 2001- Dzwww 鲁ICP备09023866号-1