Subscribe Sign in

Microsoft agentically ports Copilot runtime to Rust for $120K

1 min read Rewritten in plain language

Devops

Show what we removed Rules applied: A1×3 A3×5 C1 C2 D2×4 D3×21 D4 F2×5 all 30 rules
  • The Rust compiler remains unperturbed by the antics of the LLM.
  • The effort updated the runtime module-by-module until the job was completed, spanning over 135 releases across a 14.5-week time period.
  • Overall, agents converted 430,000 lines of TypeScript into 800,000 lines of production Rust.
  • The original TypeScript implementation completed 7.55 of those lifecycles per second, while Rust running in-process managed 120 per second - representing a 15.9x speedup on that particular workload.
  • As of July 30, the experimental Rust port was passing 99.8 percent of Bun's existing tests on Linux x64 glibc, with the stable releases still shipping from the Zig codebase.

5 sentences from our version of the report, chosen to cover it. Nothing here is written; every line is in the article below. How

Headline check

All two things this headline claims are in the report.

Figures, names and quoted words in the headline, looked for in the report itself — not in the summary above. How this is checked

The Rust compiler remains unperturbed by the antics of the LLM.

The software engine underpinning GitHub Copilot and some Microsoft products is now written in Rust, with AI agents doing most of the porting work.

Managers also had to grapple with a few dozen regressions in the resulting code, pointing to AI’s ongoing challenges in understanding Rust.

The effort updated the runtime module-by-module until the job was completed, spanning over 135 releases across a 14.5-week time period. About 1.3 port pull requests were opened per day.

Overall, agents converted 430,000 lines of TypeScript into 800,000 lines of production Rust.

One benchmark measured how quickly the runtime could complete 1,000 one-turn session lifecycles, using a shared client and 100 concurrent pipelines. The original TypeScript implementation completed 7.55 of those lifecycles per second, while Rust running in-process managed 120 per second - representing a 15.9x speedup on that particular workload.

In terms of memory, a 10-client batch of agents consumed 1,383 MB with TypeScript while the Rust rewrite consumed only 126 MB serving the same group.

Rust made those goals possible, wrote Microsoft Distinguished Engineer Stephen Toub in a post that explained the entire process.

The project used Copilot to rewrite Copilot, which in turn used several LLMs – GPT-5.6 Sol and Claude Opus 4.8 were both namechecked – to execute different parts of the job, depending on each LLM’s natural strength.

As of July 30, the experimental Rust port was passing 99.8 percent of Bun's existing tests on Linux x64 glibc, with the stable releases still shipping from the Zig codebase.

Shortened to 1 minute of reading, this version reads 9.6 on the Niral Score.

You are reading our version, not theirs. This is The Register's report shortened to its most important sentences, in plainer words, with verdicts and loaded words taken out. Plain description stays, and so do adjectives that carry a fact, such as "former" or "federal". The reporting, the facts and the quotations are theirs — quotations are never edited — and the indicators beside it measure this version. Hover or tap Adjectives to see every one left in the text.

How this outlet filed it, and how we rewrote it

No other newsroom we read has filed on this event, so there is nothing to compare it with yet.

Outlet Niral ScoreAdjectivesSourcingHappiness
The Registeras they published this story 14.8 26 29 50.8
Mundane Readneutralized from The Register 11.5 23 29 50.8

Sign in to react.

Comments

Nothing here yet.

Sign in to comment.

Questions

Readers can ask a question about this story here. Questions and answers are for subscribers. Sign in to read them.

Comments are read before they appear where anything in them needs a person to look. Nothing posted here is ever deleted; a comment taken down keeps its text and the reason, so the decision can be looked at again. How this works