“你把那代码写了,跑跑测试能过,不就交差了吗,你还要琢磨什么时间复杂度空间复杂度最优解吗” ---- 请问你是认真的吗?

z
zhshthd
楼主 (北美华人网)
在Google, meta这些有scale的公司,每年每个组都要向上申请capacity budget, 就是你们组需要用多少CPU资源。已百分比计算,比如我们组需要用全公司0.5%,相当于多少多少千瓦小时,多少多少钱。你超出了budget要解释的。公司每年按照申请和实际用量来规划数据中心扩张,买多少台新机器。曾经一段时间budget freeze, 很多组不允许用超过多少多少的CPU, 这些都是直接从代码上体现和实时测量的。
你提交了一个效率低下的代码,系统里会检测出的。然后半夜给你一个UBN (unbreak now!) task: 你的代码造成了公司CPU资源0.5%增长, 请2小时内选择以下: 1) revert 2) 再递交一个代码优化 3)填一个表格, 申请额外0.5% cpu cycle 的budget (相当于多少多少千瓦小时,转换成真金白银), 让你们director批准。
很多代码,功能,迟迟无法上线就是应为消耗太大,换言之用电太厉害,用不起。
更糟糕的情况是一段低效率代码,造成用户刷页面平均速度降低了0.5%,可能就是慢了0.3秒,几十亿个用户每个人慢了0.3秒,群体效应是惊人的。可能导致看到的内容少了,广告投放少了,直接体现在lost revenue, 这些每时每刻都实时记录的,一旦发现跌破了某个threshold, 立刻定位到你半小时前递交的一段低效率代码,你手机自动震天响,呵呵。

开什么玩笑。


t
ted.hanks
回复 1楼zhshthd的帖子
有意思, 那么如果是seasonality造成的突然的spike 怎么办? workload 本来就是动态的啊。
h
helloterran3
在Google, meta这些有scale的公司,每年每个组都要向上申请capacity budget, 就是你们组需要用多少CPU资源。已百分比计算,比如我们组需要用全公司0.5%,相当于多少多少千瓦小时,多少多少钱。你超出了budget要解释的。公司每年按照申请和实际用量来规划数据中心扩张,买多少台新机器。曾经一段时间budget freeze, 很多组不允许用超过多少多少的CPU, 这些都是直接从代码上体现和实时测量的。
你提交了一个效率低下的代码,系统里会检测出的。然后半夜给你一个UBN (unbreak now!) task: 你的代码造成了公司CPU资源0.5%增长, 请2小时内选择以下: 1) revert 2) 再递交一个代码优化 3)填一个表格, 申请额外0.5% cpu cycle 的budget (相当于多少多少千瓦小时,转换成真金白银), 让你们director批准。
很多代码,功能,迟迟无法上线就是应为消耗太大,换言之用电太厉害,用不起。
更糟糕的情况是一段低效率代码,造成用户刷页面平均速度降低了0.5%,可能就是慢了0.3秒,几十亿个用户每个人慢了0.3秒,群体效应是惊人的。可能导致看到的内容少了,广告投放少了,直接体现在lost revenue, 这些每时每刻都实时记录的,一旦发现跌破了某个threshold, 立刻定位到你半小时前递交的一段低效率代码,你手机自动震天响,呵呵。

开什么玩笑。



zhshthd 发表于 2023-08-12 01:00

头部互联网公司和不入流软件公司,都是写python java c++,但是做的工作毫无共同点。
唯一的联系就是某些不入流公司的大妈会产生幻觉,觉得自己可以对巨型互联网公司的工程师指指点点。
这就跟你说汉语,曹雪芹也说汉语,于是你觉得自己有本钱去嘲讽曹雪芹一样搞笑。
z
zhshthd
回复 1楼zhshthd的帖子
有意思, 那么如果是seasonality造成的突然的spike 怎么办? workload 本来就是动态的啊。
ted.hanks 发表于 2023-08-12 01:30

每年几个高峰时期,比如new year's eve, superbowl, valentines day 都有专门预案和调节的,有人值班。
半个马和甲
哈哈。楼主看完隔壁楼绷不住了,自己开楼了。我觉得你在隔壁说的蛮对的。嘛,但也别太在意了,人就是如此和人拉开差距的啦。
不过也有可能隔壁楼主是个小萌新,再过几年会成长起来?
别太较真哈
g
guogai
请问这是一个衍生贴吗?LZ是不是指个路?
p
poppyjasper

笑话,这种code,根本无法check in的
有regression作为第一道防线
g
generalB
高级码公婆们从小努力读书当学霸,对未来充满了远大的理想,一路国内名校、世界名校,硕士博士学历,最后为了多收三五斗,在所谓的头部公司写高级代码,就为了广告能多投放些,帮助犹太资本家们的巨额财富添砖加瓦。想想也挺可悲的,A salary is the drug they give you to forget your dreams. 高级码公婆就不要笑话F2转程序员的,在财阀眼里都是deplorables
y
yanshuimangmang
在Google, meta这些有scale的公司,每年每个组都要向上申请capacity budget, 就是你们组需要用多少CPU资源。已百分比计算,比如我们组需要用全公司0.5%,相当于多少多少千瓦小时,多少多少钱。你超出了budget要解释的。公司每年按照申请和实际用量来规划数据中心扩张,买多少台新机器。曾经一段时间budget freeze, 很多组不允许用超过多少多少的CPU, 这些都是直接从代码上体现和实时测量的。
你提交了一个效率低下的代码,系统里会检测出的。然后半夜给你一个UBN (unbreak now!) task: 你的代码造成了公司CPU资源0.5%增长, 请2小时内选择以下: 1) revert 2) 再递交一个代码优化 3)填一个表格, 申请额外0.5% cpu cycle 的budget (相当于多少多少千瓦小时,转换成真金白银), 让你们director批准。
很多代码,功能,迟迟无法上线就是应为消耗太大,换言之用电太厉害,用不起。
更糟糕的情况是一段低效率代码,造成用户刷页面平均速度降低了0.5%,可能就是慢了0.3秒,几十亿个用户每个人慢了0.3秒,群体效应是惊人的。可能导致看到的内容少了,广告投放少了,直接体现在lost revenue, 这些每时每刻都实时记录的,一旦发现跌破了某个threshold, 立刻定位到你半小时前递交的一段低效率代码,你手机自动震天响,呵呵。

开什么玩笑。



zhshthd 发表于 2023-08-12 01:00

多谢分享。 感觉这种代码写起来挺费脑子的。 我在投行写代码,从来不考虑效率,只考虑能完成功能。
一个用户
回复 9楼yanshuimangmang的帖子
所以大厂马工挣50万,投行的只有20万啊。
i
iheartglass
回复 1楼zhshthd的帖子
有意思, 那么如果是seasonality造成的突然的spike 怎么办? workload 本来就是动态的啊。
ted.hanks 发表于 2023-08-12 01:30

这个都预先调整了啊
i
iheartglass
多谢分享。 感觉这种代码写起来挺费脑子的。 我在投行写代码,从来不考虑效率,只考虑能完成功能。
yanshuimangmang 发表于 2023-08-12 07:59

所以银行想去大厂的sde需要更新技术调整思路啊 前两天那个给cs女儿问职业选择的楼里说过类似话题

c
coalpilerd
这种对资源有严格要求的代码居然可以随随便便push进去了,说明你们对于push代码的bar做得还不够高,该做的regression和review都没做。 我们隔壁组的代码是对内存使用有严格限制的,每次改动点啥他们都得绞尽脑汁,用多了内存别说跑sanity了,build那一关都过不去。
m
momosun
高级码公婆们从小努力读书当学霸,对未来充满了远大的理想,一路国内名校、世界名校,硕士博士学历,最后为了多收三五斗,在所谓的头部公司写高级代码,就为了广告能多投放些,帮助犹太资本家们的巨额财富添砖加瓦。想想也挺可悲的,A salary is the drug they give you to forget your dreams. 高级码公婆就不要笑话F2转程序员的,在财阀眼里都是deplorables
generalB 发表于 2023-08-12 02:25


别阿Q了,在巴菲特盖茨眼里赚五万十万一百万都是穷鬼,你觉得赚100万一年不比赚十万香么?
e
eragshs
回复 1楼zhshthd的帖子
有意思, 那么如果是seasonality造成的突然的spike 怎么办? workload 本来就是动态的啊。
ted.hanks 发表于 2023-08-12 01:30

split the shard counts
但这就跟楼主说的一样需要budget
那个天天发帖diss码工面试的大妈真的是个小丑般的存在
e
eragshs
高级码公婆们从小努力读书当学霸,对未来充满了远大的理想,一路国内名校、世界名校,硕士博士学历,最后为了多收三五斗,在所谓的头部公司写高级代码,就为了广告能多投放些,帮助犹太资本家们的巨额财富添砖加瓦。想想也挺可悲的,A salary is the drug they give you to forget your dreams. 高级码公婆就不要笑话F2转程序员的,在财阀眼里都是deplorables
generalB 发表于 2023-08-12 02:25

就你人间清醒啊?你自己没在帮地球上最富的人变得更富吗?
m
mylifetouch
你这只是防止写烂code,根本算不上什么优化
G
Geofan
公司出于工作需要希望找几个能写优化代码的人,当然会考你那方面了,不会做就不要当马公吧
g
gokgs
>> 你的代码造成了公司CPU资源0.5%增长
你确实你能测出 0.5 growth? 纯扯蛋蛋。
王力宏
高级码公婆们从小努力读书当学霸,对未来充满了远大的理想,一路国内名校、世界名校,硕士博士学历,最后为了多收三五斗,在所谓的头部公司写高级代码,就为了广告能多投放些,帮助犹太资本家们的巨额财富添砖加瓦。想想也挺可悲的,A salary is the drug they give you to forget your dreams. 高级码公婆就不要笑话F2转程序员的,在财阀眼里都是deplorables
generalB 发表于 2023-08-12 02:25

扎心了,但是真相。
k
keluoyi
lz应该是内部人士吧。我面过GCP的Technical Infrasture,面试官介绍他们org做什么的跟lz说的很像,lz说的更深入浅出,水平堪比比狗家的manager。
G
Gsn001
回复 8楼generalB的帖子
牵强附会了吧 保护地球资源难道不对吗?把一波优秀人才非说得特别不堪 至于么?
e
eragshs
扎心了,但是真相。
王力宏 发表于 2023-08-12 11:45

真相就是那些清醒婊也得靠资本家发工资吃饭,装什么装
一个用户
回复 23楼eragshs的帖子
哈哈哈,就是。发牢骚谁不会,这世上99.99%的都是打工的,不是打工的也不会来这网站了。
但是低端打工仔没见过高端打工仔的工作难度,误以为全世界的螺丝都用同一种扳手,同一个方法拧上去,就可以被高端打工仔鄙视一下下。
你信吗
一般越不懂的人都喜欢高谈阔论,因为他们不知道他们不知道的。按照他们看到的世界来推演全世界,就觉得天下他们最有理。
我从来不用,所以这件事就没有用。说起来很有道理,但有脑子的人都该知道是歪理
z
zhshthd
>> 你的代码造成了公司CPU资源0.5%增长
你确实你能测出 0.5 growth? 纯扯蛋蛋。
gokgs 发表于 2023-08-12 11:35

哈哈。
0.5%是个例子,实际情况远低于0.5%。要是你的代码造成0.5% cpu regression 那是灾难级别事件。一般0.02%以上都会自动呼叫你。
刚发布的Threads,用了整个Instagram 的3% CPU。
h
helloterran3
>> 你的代码造成了公司CPU资源0.5%增长
你确实你能测出 0.5 growth? 纯扯蛋蛋。
gokgs 发表于 2023-08-12 11:35

每天的事故群发邮件,绝大部分都影响了0.0001%的用户,已经够在技绩效里记上一笔了。
能影响0.5%用户的事故,至少也得有个cto盯着你fix
h
huaren_2018
看啥应用了,根本不需要优化的在那优化不是浪费时间么? 还有无穷多的feature在很紧的deadline下。
小城往事
回复 1楼zhshthd的帖子
我就是你说的那个楼的楼主。
不用请问,我就是认真的
你根本就没有看我的贴子,或者因为阅读能力欠费,看了也没看懂。你第一句话,就是在google,meta怎样怎样。我帖子里怎么说的呢,我说的是那些一般的小破公司,又不是google和meta。我说你不是驴,你用不着吃草,你跟我写一长篇,说驴是怎么吃草的
这个版上怎么这么多好像连基本阅读能力都没有的
你信吗
回复 1楼zhshthd的帖子
我就是你说的那个楼的楼主。
不用请问,我就是认真的
你根本就没有看我的贴子,或者因为阅读能力欠费,看了也没看懂。你第一句话,就是在google,meta怎样怎样。我帖子里怎么说的呢,我说的是那些一般的小破公司,又不是google和meta。我说你不是驴,你用不着吃草,你跟我写一长篇,说驴是怎么吃草的
这个版上怎么这么多好像连基本阅读能力都没有的
小城往事 发表于 2023-08-12 13:14

小公司也不是就准备一辈子做小公司。人人都想做大公司。每个公司想要的都是战马,而不是驴。实在找不到马了,只好用驴凑合了。然后驴就觉得根本就用不着马啊,你看根本不用跑那么快。然后将军在后面抡着鞭子叹气,怎么就是打不了胜仗呢(公司就是做不大呢)
小城往事
多谢分享。 感觉这种代码写起来挺费脑子的。 我在投行写代码,从来不考虑效率,只考虑能完成功能。
yanshuimangmang 发表于 2023-08-12 07:59

我隔壁楼说的就是你们写的这种代码。我也工作过好几个不同的公司,敢说绝大多数的一般公司,和世界上绝大多数的马工,干的就是这样的活。
小城往事
小公司也不是就准备一辈子做小公司。人人都想做大公司。每个公司想要的都是战马,而不是驴。实在找不到马了,只好用驴凑合了。然后驴就觉得根本就用不着马啊,你看根本不用跑那么快。然后将军在后面抡着鞭子叹气,怎么就是打不了胜仗呢(公司就是做不大呢)
你信吗 发表于 2023-08-12 13:16

公司能不能从小做大,除了时代和运气的因素以外,主要的决定因素是商业因素,而不是技术因素。将军大不了胜仗,最大原因是这个将军战略战术水平不行,而不是手下的马和驴跑的不够快。
g
gokgs
哈哈。
0.5%是个例子,实际情况远低于0.5%。要是你的代码造成0.5% cpu regression 那是灾难级别事件。一般0.02%以上都会自动呼叫你。
刚发布的Threads,用了整个Instagram 的3% CPU。
zhshthd 发表于 2023-08-12 12:53

都是不懂的人在瞎折腾。 你以为 cpu usage 曲线是一条直线?

g
gokgs
每天的事故群发邮件,绝大部分都影响了0.0001%的用户,已经够在技绩效里记上一笔了。
能影响0.5%用户的事故,至少也得有个cto盯着你fix
helloterran3 发表于 2023-08-12 12:59

靠,在说千分之五的用户还是千分之五的cpu ? 不要忽悠我老马工。
小城往事
都是不懂的人在瞎折腾。 你以为 cpu usage 曲线是一条直线?


gokgs 发表于 2023-08-12 13:31

可能我水平太低了,我也没搞明白,你加了一个新feature了,整个产品的cpu使用增加了0.5%的话,怎么知道这个增加的部分就是那个新feature造成的,而不是正常的波动,或者别的什么原因造成的

g
gokgs
楼主说的估计是一帮不𢤦的人在瞎内卷的故事。
大公司没什么新feature, 一些人就只能瞎卷。
z
zhshthd
都是不懂的人在瞎折腾。 你以为 cpu usage 曲线是一条直线?


gokgs 发表于 2023-08-12 13:31

当然不是直线。检测regression也不是看代码CPU的总量消耗曲线。
可以具体看到某个函数,或者某个endpoint消耗CPU总量的随时间的曲线。突然有个spike,虽然曲线趋势和以前一样,但可以看出baseline不一样了。这个spike就在某个时间点以后发生。有几种可能:
1) 这个函数呼叫量突然变大了,这个在上游别的函数曲线上也会体现出来 2) 这个函数代码改过了,增大了工作量。
这两个情况都可以实时监测,实时通知代码负责组。1)和2) 可能是正常的feature growth,如果是这样可以从上游小组的capacity budget里扣,或者申请新的capacity。如果排除了feature growth,那只要regression 超出0.02%, 要么revert, 要么优化。
感兴趣的可以自己看一下: https://www.youtube.com/watch?v=kND7ONJa2aY
y
yizhi
公司能不能从小做大,除了时代和运气的因素以外,主要的决定因素是商业因素,而不是技术因素。将军大不了胜仗,最大原因是这个将军战略战术水平不行,而不是手下的马和驴跑的不够快。
小城往事 发表于 2023-08-12 13:28

我以前工作的一个小公司,被大公司买了,卖给了大银行,然后动不动就out of memory。人家银行要求退钱,结果我去看了一下,错在developer随便写了两层loop实现了feature,结果用户一多就死。整个产品里各种这样的低级错误
最后我离开了,再后来那个产品也死了

z
zhshthd
我隔壁楼说的就是你们写的这种代码。我也工作过好几个不同的公司,敢说绝大多数的一般公司,和世界上绝大多数的马工,干的就是这样的活。
小城往事 发表于 2023-08-12 13:18

”和世界上绝大多数的马工,干的就是这样的活“ 不代表公司不希望找到能力强的马工,那你怎么用一种高效的办法筛选出能力强的呢?至少目前大家还没找到更好的办法。如果你有,请告知。
要是面试题都是最简单暴力实现个基本算法,也不考system design。结果发现10个面试者都完美解出来。那你招谁呢?谁顺眼招谁?这难道不是更不公平的方法吗?
在往大了说, 如果平时用不着就不问不考。那全世界大学入学考试在你眼里都是脱裤子放屁了。世界上多少人在工作生活中需要用三角函数,一元二次方程,求极限?多少人要用到各种文学修辞手法,知道罗马帝国灭亡的原因,知道春秋战国时期历史?别说考试,教都不要教,存粹浪费时间,让感兴趣的人自己去学不就得了?
你自己工作躺平当然没问题,是很正当一种选择,不去和他们竞争就行了。
但不能怨选择那些不躺平的人,怨那些希望自己能成长,不满足于每天做CRUD的人,是不是?
g
gokgs
当然不是直线。检测regression也不是看代码CPU的总量消耗曲线。
可以具体看到某个函数,或者某个endpoint消耗CPU总量的随时间的曲线。突然有个spike,虽然曲线趋势和以前一样,但可以看出baseline不一样了。这个spike就在某个时间点以后发生。有几种可能:
1) 这个函数呼叫量突然变大了,这个在上游别的函数曲线上也会体现出来 2) 这个函数代码改过了,增大了工作量。
这两个情况都可以实时监测,实时通知代码负责组。1)和2) 可能是正常的feature growth,如果是这样可以从上游小组的capacity budget里扣,或者申请新的capacity。如果排除了feature growth,那只要regression 超出0.02%, 要么revert, 要么优化。
感兴趣的可以自己看一下: https://www.youtube.com/watch?v=kND7ONJa2aY
zhshthd 发表于 2023-08-12 13:48

我的 point 是, 你在纠结 0.5% CPU 纯粹是瞎扯淡, 你的测量误差估计都会比这个大, 5% 还差不多。
都是不懂的人在瞎卷。
z
zhshthd
我的 point 是, 你在纠结 0.5% CPU 纯粹是瞎扯淡, 你的测量误差估计都会比这个大, 5% 还差不多。
都是不懂的人在瞎卷。
gokgs 发表于 2023-08-12 14:11

LOL。 一个小组一年的budget,大多数不到0.5%。造成0.5%regression无法解释,director可能都被PIP了。反过来,某个engineer如果优化了一段代码,吧他们组里CPU消耗减少了0.5%,那他这一年不用干别的了,就靠这个估计可以拿至少GE(greatly exceeds expectations), RSU bonus 200%。 可以让他吹好几年。


g
gokgs
LOL。 一个小组一年的budget,大多数不到0.5%。造成0.5%regression无法解释,director可能都被PIP了。反过来,某个engineer如果优化了一段代码,吧他们组里CPU消耗减少了0.5%,那他这一年不用干别的了,就靠这个估计可以拿至少GE(greatly exceeds expectations), RSU bonus 200%。 可以让他吹好几年。



zhshthd 发表于 2023-08-12 14:17

嗯, 跟我猜的一样, 就是没有新的 feature, 没有新坑, 一帮人在无聊瞎卷。
小扎裁掉 2万人不是没有道理。
j
jogging66
回复 19楼gokgs的帖子
server CPU 和 memory资源是可以检测的。 而且这些是需要花钱的。 所以不可能造成多用了资源,大家都不知道的情形。 就好比不可能一个家庭用了很多电,悄悄的没人发现。
c
claireliu
马工是没什么技术含量。不管啥人刷个几百道leetcode就能干。就不要文人相轻了。
半个马和甲
马工是没什么技术含量。不管啥人刷个几百道leetcode就能干。就不要文人相轻了。
claireliu 发表于 2023-08-12 14:32

????
b
beidou
哈哈。
0.5%是个例子,实际情况远低于0.5%。要是你的代码造成0.5% cpu regression 那是灾难级别事件。一般0.02%以上都会自动呼叫你。
刚发布的Threads,用了整个Instagram 的3% CPU。
zhshthd 发表于 2023-08-12 12:53

cpu增长0.5%就增长了,如果盈利翻翻了呢? 你举的例子恰恰说明了,绞尽脑汁优化写code,做的大概率是无用功。
z
zhshthd
cpu增长0.5%就增长了,如果盈利翻翻了呢? 你举的例子恰恰说明了,绞尽脑汁优化写code,做的大概率是无用功。
beidou 发表于 2023-08-12 14:43

你发现你老公每月突然消费多出$1000, 没什么已知的新的开销,你会不闻不问?你问了,他说“多开销就多开销了,说不定我多赚了呢,绞尽脑汁查这些东西干嘛?”。 你会说,“哦,说的也是”。
那你一个家庭都需要budget, 为啥公司不需要?
新的产品功能,需要增加消耗,是每年budget的一部分,当然是被允许的。
公司每天代码check in次数估计上万,新代码发布上线一天几十次。你不严格检测CPU消耗,不知不觉几天以后,没有发布新的产品,但CPU多用了5%,几个月多用了30%,这些直接在电费上显示的。一年后发现你现有的data center所有机器都不够跑Facebook, Instagram, WhatsApp了,怎么办?你的电费猛增30%。 这算是capital expense一部分。你怎么和华尔街解释?我们没有新功能的情况下,COST增长了1/3.
h
helloterran3
可能我水平太低了,我也没搞明白,你加了一个新feature了,整个产品的cpu使用增加了0.5%的话,怎么知道这个增加的部分就是那个新feature造成的,而不是正常的波动,或者别的什么原因造成的


小城往事 发表于 2023-08-12 13:34

因为每天什么时候的用户数量波动都有模型,外头有什么事件比如大选,世界杯造成流量波动,也有准确的估算
哪些cpu是什么因素导致的,哪些网络流量是什么因素导致的,哪些存储是什么因素导致的
不然你以为fb一年光gpu就买10亿刀的,难道是全凭感觉下单?
h
helloterran3
我的 point 是, 你在纠结 0.5% CPU 纯粹是瞎扯淡, 你的测量误差估计都会比这个大, 5% 还差不多。
都是不懂的人在瞎卷。
gokgs 发表于 2023-08-12 14:11

笑死人,真是无知无畏
我就告诉你我们组管理的十来万块GPU,上个月平均利用率从63%降到62.5%,凭空每个月多了上百万的成本,整个组都被VP盯着优化算法。
h
helloterran3
嗯, 跟我猜的一样, 就是没有新的 feature, 没有新坑, 一帮人在无聊瞎卷。
小扎裁掉 2万人不是没有道理。
gokgs 发表于 2023-08-12 14:21

你每个月能给公司节省几百万的成本, 不给你大包给谁大包
反过来,无知无畏还大放厥词的,自然只能在不入流公司混
半个马和甲
竟然真的有些人觉得优化不值钱,不重要! 我开眼界了!
g
gokgs
笑死人,真是无知无畏
我就告诉你我们上个月GPU利用率从63%降到62.5%,平均每个月多了上百万的成本,整个组都被VP盯着优化算法。
helloterran3 发表于 2023-08-12 15:06

AI? AI 故计低效率代码-堆,数据量又大,有可能。
h
helloterran3
AI? AI 故计低效率代码-堆,数据量又大,有可能。
gokgs 发表于 2023-08-12 15:10

你可能对GPU利用率63%没什么概念。普通工程师用开源Pytorch之流写的算法,GPU利用率能有20%就不错了。
60%多的利用率是500多人的部门,好几年下来几千项优化的共同结果。
就假设你从meta 或者google抽调出最精干的l5 l6 l7 l8,组成一个startup,他们没有这些年的积累,一样做不到这个优化程度。也得从头开始
结果一群无知大妈跳出来说,优化不重要,功能实现就好了
那你们tmd为啥买车非要买省油的车呢?
选个401k fund都要看历史performance,居然有人觉得最烧钱的算法优化不重要,笑死个人
t
tacomiaomiao
回复 47楼zhshthd的帖子
这条件也很严格啊,每次改都都要增加cpu。 多出$1000作为0.5%的budget那是每月消费200k的水平。这家人要在赚钱上升期会有空管一千刀的消费吗。
g
gokgs
你每个月能给公司节省几百万的成本, 不给你大包给谁大包
反过来,无知无畏还大放厥词的,自然只能在不入流公司混
helloterran3 发表于 2023-08-12 15:08

Lol ,井底之蛙。
k
kimmyzhou
作为外行人,感觉楼主解释得很清楚了。对互联网公司来说,compute/storage就是运营成本,就像传统行业要优化成本一样,永远都需要兼顾收入和成本。如果苹果新出的手机很酷,但是成本要高5个点,他们需要多卖几千万台才能持平。想请教楼主或者楼里的业内人士,你们在写一个新的application的时候,会考虑用什么样的infrastrucutre吗,比如用GPU或者TPU,哪个成本更低?
g
gokgs
你可能对GPU利用率63%没什么概念。普通工程师用开源Pytorch之流写的算法,GPU利用率能有20%就不错了。
60%多的利用率是500多人的部门,好几年下来几千项优化的共同结果。
就假设你从meta 或者google抽调出最精干的l5 l6 l7 l8,组成一个startup,他们没有这些年的积累,一样做不到这个优化程度。也得从头开始
结果一群无知大妈跳出来说,优化不重要,功能实现就好了
那你们tmd为啥买车非要买省油的车呢?
选个401k fund都要看历史performance,居然有人觉得最烧钱的算法优化不重要,笑死个人
helloterran3 发表于 2023-08-12 15:16

用Python 写程序的人写优化跟屎克郎在挑哪堆屎臭味轻没什么区别。哈哈
g
gokgs
作为外行人,感觉楼主解释得很清楚了。对互联网公司来说,compute/storage就是运营成本,就像传统行业要优化成本一样,永远都需要兼顾收入和成本。如果苹果新出的手机很酷,但是成本要高5个点,他们需要多卖几千万台才能持平。想请教楼主或者楼里的业内人士,你们在写一个新的application的时候,会考虑用什么样的infrastrucutre吗,比如用GPU或者TPU,哪个成本更低?
kimmyzhou 发表于 2023-08-12 15:31

他也就蒙你外行可以。哈哈。
g
gokgs
竟然真的有些人觉得优化不值钱,不重要! 我开眼界了!
半个马和甲 发表于 2023-08-12 15:10

没人否认优化,是否认0.5% 的优化,估计系统本身就很烂。
e
eragshs
没人否认优化,是否认0.5% 的优化,估计系统本身就很烂。
gokgs 发表于 2023-08-12 15:48

你来去只会这句话,比不过'helloterran3'懂行就骂人,可见混子水平
码工这行就是懂就是懂,不懂就是不懂。不懂是装不下去的
你信吗
没人否认优化,是否认0.5% 的优化,估计系统本身就很烂。
gokgs 发表于 2023-08-12 15:48

只有原来的系统已经很好了才会关心0.5%, 烂系统才无所谓,因为烂的地方太多,改一下可能就20%
n
no.fayes.land
楼主不要生气,道不同不相为谋。
我在小中大厂都做过,同基本什么样水平的人都工作做。在小厂时,从上到下,生生把一个明星产品给做死了,上面决策性错误,下面业务能力不行,我试着救了一下,走为上策离开了沉船。中厂呢,经常做compromise, 因为infrastructure and technical skills 都达不到要求,做出的产品只是能用,performance and scalability 问题多了。 但是monopoly, 树大好乘凉。大厂就不多说了,反正有钱加能力强,真不是强了一星半点。
f
facet
”和世界上绝大多数的马工,干的就是这样的活“ 不代表公司不希望找到能力强的马工,那你怎么用一种高效的办法筛选出能力强的呢?至少目前大家还没找到更好的办法。如果你有,请告知。
要是面试题都是最简单暴力实现个基本算法,也不考system design。结果发现10个面试者都完美解出来。那你招谁呢?谁顺眼招谁?这难道不是更不公平的方法吗?
在往大了说, 如果平时用不着就不问不考。那全世界大学入学考试在你眼里都是脱裤子放屁了。世界上多少人在工作生活中需要用三角函数,一元二次方程,求极限?多少人要用到各种文学修辞手法,知道罗马帝国灭亡的原因,知道春秋战国时期历史?别说考试,教都不要教,存粹浪费时间,让感兴趣的人自己去学不就得了?
你自己工作躺平当然没问题,是很正当一种选择,不去和他们竞争就行了。
但不能怨选择那些不躺平的人,怨那些希望自己能成长,不满足于每天做CRUD的人,是不是?
zhshthd 发表于 2023-08-12 14:04

而且,现在数据获取这么便宜,动辄都是 billion 级别的 daily pipeline ,你不考虑性能就没什么需要考虑的了
y
yzt0013
回复 20楼王力宏的帖子
大家要努力向这号人物学习,躺平,把机会都给印度人,给黑人,给默默,自己躺着吃福利,让印度人和默默还有黑人养着挺好的,无非就是做了几个生意搞了点agent,贪了点中国人民的血汗搬到美国,这些人才是最没有资格指责他人的人。
f
facet
回复 1楼zhshthd的帖子
有意思, 那么如果是seasonality造成的突然的spike 怎么办? workload 本来就是动态的啊。
ted.hanks 发表于 2023-08-12 01:30

一般带宽规划都是用长尾 (long tail)来做,季节性变化那点峰值根本就是小菜一碟,
h
hannah04
楼主说的很实在,事实就是那样,低效率的代码真是狗屎,看到好代码我经常是眼前一亮,可自己很不稳定,厉害的人看我写的代码不行,不厉害的人看了我写的代码崇拜的不行 🤣
c
calrose
time complexity and space complexity of a algorithm当然很重要,算法课第一章
c
calrose
在Google, meta这些有scale的公司,每年每个组都要向上申请capacity budget, 就是你们组需要用多少CPU资源。已百分比计算,比如我们组需要用全公司0.5%,相当于多少多少千瓦小时,多少多少钱。你超出了budget要解释的。公司每年按照申请和实际用量来规划数据中心扩张,买多少台新机器。曾经一段时间budget freeze, 很多组不允许用超过多少多少的CPU, 这些都是直接从代码上体现和实时测量的。
你提交了一个效率低下的代码,系统里会检测出的。然后半夜给你一个UBN (unbreak now!) task: 你的代码造成了公司CPU资源0.5%增长, 请2小时内选择以下: 1) revert 2) 再递交一个代码优化 3)填一个表格, 申请额外0.5% cpu cycle 的budget (相当于多少多少千瓦小时,转换成真金白银), 让你们director批准。
很多代码,功能,迟迟无法上线就是应为消耗太大,换言之用电太厉害,用不起。
更糟糕的情况是一段低效率代码,造成用户刷页面平均速度降低了0.5%,可能就是慢了0.3秒,几十亿个用户每个人慢了0.3秒,群体效应是惊人的。可能导致看到的内容少了,广告投放少了,直接体现在lost revenue, 这些每时每刻都实时记录的,一旦发现跌破了某个threshold, 立刻定位到你半小时前递交的一段低效率代码,你手机自动震天响,呵呵。

开什么玩笑。



zhshthd 发表于 2023-08-12 01:00

楼主的信息很有用,幸好我们公司的客户是工业界的,不是广大消费者
知知了
我隔壁楼说的就是你们写的这种代码。我也工作过好几个不同的公司,敢说绝大多数的一般公司,和世界上绝大多数的马工,干的就是这样的活。
小城往事 发表于 2023-08-12 13:18

其实挺能理解楼主和隔壁楼各自要强调的是什么,如果放在写software上不好理解,那举个普通大妈好理解的例子
就像都是搞建筑的,本楼主是要建摩天楼或在摩天楼体上加改东西,隔壁楼主是建三两层高的普通房子,实际需求上世界大部分都是这种民住的小房子,你可以把这种小房子装饰得很豪华(就像software上加了多少fancy features 等等),也可以卖出不错的价钱。 但不可否认的是建摩天楼需要的技术要求是更高的,象抗震,地基沉降,风速应力反应等。会建摩天楼的建筑师建那种小房子一般都没问题,但小房子建筑师要建摩天楼就需要经过严格考核是否具备资格,否则可能出现disaster的后果
就像说我可以在小房子外墙挂一圈风铃,好听又有情调,但如果在摩天楼外墙这样干就可能会出事故
各有各的需求和应用场合,没必要互相diss
对应回software,就是相同的title, 摩天楼的建筑师会拿到比小房子建筑师两三倍的package,相应的压力也大也很累; 但小房子建筑师也可以钻研自己的niche, 就像特别会设计海边的豪宅,能跟自然融为一体,极度舒适,那样也可以很来钱,关键是找到适合自己的能长时间工作的enjoyable 的位置
有一点上我也认同隔壁楼主,现在很多中小型的software公司不管什么类型的马工面试都照搬狗家面家考强调空间时间极度优化的generic algorithm,那是“偷懒”的做法,希望在一小时的时间内尽量筛选掉candidates,但那个针对性可能是错的,就像前端的更应该针对性的考如何hands on用modern 的framework构建网站,mobile的考怎样设计和hands on build user friendly的apps,但那样就不是一个小时能搞完的了
z
zhaopk
回复 1楼zhshthd的帖子
公司小的时候追求效率,不太注重细节。公司大了就有钱招一堆打工的专门做自动化系统优化。 格局小的时候容易书生孔乙己,茴香豆的四种写法。格局大些,在资本家眼里无非都是cheap labor
真正职场老手会告诉你,优化,还是不优化,关键取决于对升职加薪visibility的效果
千渔千寻
回复 49楼的帖子
你们平均利用率是恒定的?为啥会掉0.5%
z
zhshthd
作为外行人,感觉楼主解释得很清楚了。对互联网公司来说,compute/storage就是运营成本,就像传统行业要优化成本一样,永远都需要兼顾收入和成本。如果苹果新出的手机很酷,但是成本要高5个点,他们需要多卖几千万台才能持平。想请教楼主或者楼里的业内人士,你们在写一个新的application的时候,会考虑用什么样的infrastrucutre吗,比如用GPU或者TPU,哪个成本更低?
kimmyzhou 发表于 2023-08-12 15:31

这个在APP应用层面不用考虑,都被抽象化了。GPU应用场景目前只在AI和VR,有专门部门负责。
z
zhshthd
回复 49楼的帖子
你们平均利用率是恒定的?为啥会掉0.5%
千渔千寻 发表于 2023-08-12 19:45

不是恒定,是曲线。突然曲线平移 X%,峰值低谷都比原来高出 X%。 X%大于某个threshold, 并持续12小时,就必须take action.
z
zhshthd
回复 47楼zhshthd的帖子
这条件也很严格啊,每次改都都要增加cpu。 多出$1000作为0.5%的budget那是每月消费200k的水平。这家人要在赚钱上升期会有空管一千刀的消费吗。
tacomiaomiao 发表于 2023-08-12 15:18

这个家庭如果有很多成员,今天1000,明天1000, 很快不久几千, 上万了?所以要有一个系统,自动化的检测系统来控制资源消耗。