“你把那代码写了,跑跑测试能过,不就交差了吗,你还要琢磨什么时间复杂度空间复杂度最优解吗”
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, 立刻定位到你半小时前递交的一段低效率代码,你手机自动震天响,呵呵。
开什么玩笑。
你提交了一个效率低下的代码,系统里会检测出的。然后半夜给你一个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, 立刻定位到你半小时前递交的一段低效率代码,你手机自动震天响,呵呵。
开什么玩笑。