Cloud & DevOpsTrend
Five rewrites measured by the teams that did them: Cloudflare, Microsoft's TypeScript, Astral's uv and Ruff, Discord, and Firefox's Rust share from 2016 to October 2026.
Microsoft’s TypeScript compiler, ported to Go, built the VS Code codebase in 10.6 seconds in July; the old compiler took 125.7 seconds.1 Cloudflare’s request proxy, rebuilt in Rust, uses “less than half the CPU” of the one it replaced.5 Both numbers come from the teams that did the work, and those teams chose different languages for reasons they wrote down.
Software is being moved from one language to another, and in 2026 the moves reached tools developers run many times a day. Two languages carry most of it. Rust has no garbage collector (the automatic memory clean-up that can briefly pause a program) and checks memory use when the code is compiled. Go has a garbage collector. Both rule out the memory bugs that C and C++ allow. Our question is not which language is better, but what each rewrite measurably changed and why each team chose its language.
Firefox is the longest public record of a large codebase changing language piece by piece rather than in one rewrite. Rust was 8.7% of its Rust, C and C++ lines at the first release of 2018 and 19.0% by 2021, then flat for three years. Firefox 158, released on 7 October, carried 6.24 million lines of Rust: 26.1%.15
Rust grew from almost nothing to 26% of Firefox's native code in ten years, with a flat stretch in 2021–23
Rust lines as a share of Rust, C and C++ lines (headers included), first release of each year, 2016–2026, and Firefox 158
%
| Rust share | |
|---|---|
| 2016 | 0 |
| 2017 | 0 |
| 2018 | 8.7 |
| 2019 | 13.4 |
| 2020 | 15.8 |
| 2021 | 19 |
| 2022 | 18.5 |
| 2023 | 18.4 |
| 2024 | 22.1 |
| 2025 | 22.6 |
| Jan 2026 | 23.3 |
| Oct 2026 | 26.1 |
Source: firefox-lang-stats, a community tracker (not Mozilla), counts at each release tag; TechBag computation · as of 7 October 2026 · Includes third-party Rust libraries shipped in the source tree
TypeScript, to Go. Microsoft announced the port in March 2025 with a first benchmark: VS Code’s 1.5 million lines compiled in 7.5 seconds instead of 77.8.2 TypeScript 7.0 shipped on 8 July 2026 with “speedups between 8x and 12x on full builds” and lower memory use on all five codebases Microsoft published, by 6% to 26%.1 The 7.1 beta of 20 October ran a further 1.2x to 1.9x faster than 7.0 on Microsoft’s five test codebases, with 15.8% to 49.6% less memory.3
TypeScript 7, the Go port, ran full builds 7.7x to 11.9x faster than TypeScript 6
Full build time in seconds, TypeScript 6.0 vs 7.0 (default four checker threads), five open-source codebases, July 2026
| TypeScript 6.0 | TypeScript 7.0 (Go) | Change | |
|---|---|---|---|
| sentry | 140 | 15.7 | -89% |
| vscode | 126 | 10.6 | -92% |
| bluesky | 24.3 | 2.8 | -88% |
| playwright | 12.8 | 1.47 | -89% |
| tldraw | 11.2 | 1.46 | -87% |
Source: Microsoft, Announcing TypeScript 7.0 · as of 8 July 2026 · Microsoft's benchmark on its own machine; build times on other projects will differ
Cloudflare’s proxy, to Rust. FL1, the software that handles every request, was NGINX (written in C) with LuaJIT. Its Rust replacement, FL2, responds 10 ms faster at the median, “a 25% performance boost” on third-party tests, and uses “less than half the CPU of FL1, and much less than half the memory”. Cloudflare gives the main reason as design, not language: “The biggest reason for this is simply that FL2 performs less work,” and FL1 spent time converting data between languages.5 On 18 September it reclaimed more than 100 TB of RAM in a service already written in Rust by changing an algorithm, and closed: “You might not be able to solve all your problems with Rust, but math is universal.”6
Python tools, to Rust. Astral’s Ruff lints the CPython codebase from scratch in 0.29 seconds; Flake8 takes 12.26 and Pylint more than 60, on the project’s own chart.11 Its installer, uv, was “8-10x faster than pip and pip-tools without caching, and 80-115x faster when running with a warm cache” at launch in February 2024,12 and installs one test project’s dependencies from a warm cache in 0.06 seconds against 4.63 for pip-sync.13 In March 2026 Astral agreed to join OpenAI’s Codex team and said it would keep its tools open source.14
Discord, from Go to Rust (2020). Its “Read States” service showed latency spikes “roughly every 2 minutes” on Go 1.9.2; in Rust, “Latency, CPU, and memory were all better.” The post gives its numbers only as charts.9
Each team’s stated reason for its language, in its own words:
Faster tools are the nearest gain, on your code. Every figure above is a benchmark on codebases and machines the team chose. uv’s benchmark page warns that results “may vary dramatically across different operating systems and filesystems”,13 and Cloudflare’s tsrs post notes that some published TypeScript-port claims used larger machines and non-default options.7 The useful number is your own build or test run, before and after.
Fewer memory bugs is a design claim; the teams name its limits. Cloudflare says Rust removes whole classes of bug, and in the same post: “It’s easy to write code in Rust, which causes memory corruption.”5 On 18 November 2025 a configuration file grew past a fixed limit; FL2’s Rust code “panicked” and customers on it got HTTP 5xx errors, while customers still on the old FL saw no errors and all their traffic was given a bot score of zero.8 Memory safety did not prevent that outage, and the older code returned wrong results rather than errors.
Migration has a cost the teams recorded. TypeScript 7.0 shipped without a stable programmatic API, so “Projects using Vue, MDX, Astro, Svelte, and others will need to continue using TypeScript 6.0 for now”;1 the 7.1 beta adds the API and a way for those tools to plug in.3 tsrs still prints some diagnostics in a different order from TypeScript.7
What to watch. Firefox 159, scheduled for 27 October, is the next point on the line.16 Microsoft expects the TypeScript 7.1 release candidate “in about a month” from the 20 October beta, with the final release “shortly thereafter”.3 Cloudflare has given no date for a stable tsrs.7 And Cloudflare said in September 2025 that it would turn FL1 off in early 2026;5 we found no post confirming it has.
Sources
Related on TechBag: the developer tools guide, the Cloudflare CDN & performance page and the Cloudflare developer platform page.
Disclosure. TechBag is a software reseller: it earns a margin when a reader buys through it, including from vendors named here. The analysis is TechBag’s own; no vendor paid for or saw this piece before publication. Facts are labelled reported, TechBag count or our view.