1/28/2026 at 2:26:58 PM
The 160k → 90k LOC reduction is nice, but the parallel rollout is the more interesting part. Running Rust alongside the C++ version and using differential fuzzing to check equivalence is a lot more realistic than “rewrite and pray.” You get incremental validation with the old system as a fallback. Curious how long they ran both before cutting over.Binary size is a real concern on the client side. On servers the Rust stdlib overhead usually doesn’t matter, but when you’re shipping to billions of mobile devices, every KB counts. Good to see they invested in build tooling instead of just accepting the bloat.
by cong-or
1/28/2026 at 2:38:49 PM
Did they say anywhere what they did? Rebuilding the stdlib as part of your build can shrink it a lot depending on how much of it you use, but that is still nightly only. Maybe they went no_std or created their own?by galangalalgol
1/28/2026 at 3:29:49 PM
They didn't but keep in mind that the app is currently 170MiB. The standard library shouldn't have added more than a few hundred kilobytes. They already likely pay similar costs for c++, but it's more worthwhile as they have a lot more c++ code total.Also note that if you statically link to the rust std library, lto will excise the majority of it anyways, no need to rebuild it.
by surajrmal
1/28/2026 at 5:17:13 PM
The default hello world stripped with one codegen unit and panic=abort was 342kB both nightly and stable. Adding lto dropped it 42kB in stable and 40kB in nightly. Adding build-std and only building core did not reduce it any further in size.by galangalalgol
1/28/2026 at 8:59:35 PM
I assume OP is taking about using -Zbuild-std on nightly. This will drop it much more.by metaltyphoon
1/29/2026 at 3:31:19 AM
That is what I was talking about. It didn't reduce it at all over just lto. If I'd set optimization to z it probably would have gotten some back, but that starts impacting performanceby galangalalgol
1/29/2026 at 7:54:25 PM
This is built with buck, and core/std are built as a source dependency.by jsgf