AWS Lambda上跑Go和Rust,性能看起来差不多,账单出来人傻了。一个团队烧了几周钱才发现,"感觉挺快"是最贵的错觉。
他们做了件很多人想过但没做的事:把两种语言各调用了1000万次,然后对比账单。Go的冷启动确实快,但Rust的内存占用只有Go的零头——而Lambda是按内存×时间计费的。换句话说,Rust每次执行都在省钱,Go每次都在烧钱,积少成多。
团队原话:「The service was fast. The dashboards were green. Nothing looked wrong.」监控面板全绿,成本曲线却偷偷爬坡。这种隐性失血比宕机更危险,因为没人报警。
他们没公布具体数字,但用了"embarrassing"形容差距。在Lambda的计费模型里,内存是乘数,执行时间是基数。Rust的零成本抽象在这里变成了真·零成本,Go的垃圾回收器则在后台默默刷卡。
最讽刺的是,这个团队最初选Go是因为"团队熟悉"。现在他们在README里加了一条:新服务默认Rust,除非你能证明Go便宜。一个工程师在评论区说,他把旧服务重写成Rust后,月度账单从四位数降到了三位数——"老板以为我删了服务"。
热门跟贴