<!-- mobian-agent-page publisher="dailydev" canonical="https://daily.dev/posts/tsrs-ships-and-theo-s-rival-port-just-got-absorbed-wxzirxmz4" -->

---
title: tsrs ships, and Theo's rival port just got absorbed
description: Cloudflare and VoidZero shipped tsrs, an experimental Rust port of the TypeScript compiler, on October 20, 2026. It's built by Max Schwenk of Owner.com with...
canonical: https://daily.dev/posts/tsrs-ships-and-theo-s-rival-port-just-got-absorbed-wxzirxmz4
twitter:card: summary_large_image
twitter:site: @dailydotdev
og:type: website
og:site_name: daily.dev
og:title: tsrs ships, and Theo's rival port just got absorbed | daily.dev
og:description: Cloudflare and VoidZero shipped tsrs, an experimental Rust port of the TypeScript compiler, on October 20, 2026. It's built by Max Schwenk of Owner.com with...
og:url: https://daily.dev/posts/tsrs-ships-and-theo-s-rival-port-just-got-absorbed-wxzirxmz4
og:image: https://api.daily.dev/og/posts/wxZirXMZ4.png
og:image:alt: tsrs ships, and Theo's rival port just got absorbed
og:image:width: 1200
og:image:height: 630
og:locale: en
---

> ## Documentation Index
> Fetch the complete documentation index at: https://daily.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# tsrs ships, and Theo's rival port just got absorbed

**[Trends](https://daily.dev/sources/trends)** · 3 min read · 12 upvotes · 0 comments

## Summary

Cloudflare and VoidZero shipped tsrs, an experimental Rust port of the TypeScript compiler, on October 20, 2026. It's built by Max Schwenk of Owner.com with the TypeScript team and incubates inside the Oxc toolchain. Vendor benchmarks claim up to 8x faster checking and about 70% less memory than TypeScript 7.0 at the same checker worker count. Cloudflare is working with Theo Browne to merge tsc-rs and tsrs into one package, with LSP support and content mappers. For now tsrs has no watch mode or language server, and it is a fast CI checker via `npx tsrs -p . --noEmit`, not an editor replacement.

## Content

The loudest take so far comes from @steipete: "Kind of amazing that it took Microsoft a team and two years to rewrite the TS compiler in go, and now you can just let an agent rip and get sth significantly better within weeks." He says he moved to tsrs over the weekend, called it a drop-in replacement, and measured around 5x faster for OC.

## The setup

Cloudflare and VoidZero announced tsrs, a Rust port of the TypeScript compiler that is joining the Oxc toolchain. Max Schwenk of Owner.com started it, with the TypeScript team involved. Cloudflare's numbers: up to 8x faster checking and about 70% less memory than TypeScript 7.0 at equal checker counts. On Owner.com's 37,000-file monolith, a check that took 80 seconds and 19 GiB dropped to 7 seconds.

## The part people are chewing on

Schwenk says he wrote "zero" code himself. AI agents, led by Claude Opus 5.5, did the work, using TypeScript's 15,197 conformance tests as the spec. One headline calls it a port "written by agents, for agents." Cloudflare keeps saying the same thing: "We are not forking TypeScript." The goal is to track the TypeScript team's own decisions, and optimizations found in tsrs are reportedly feeding back into Microsoft's compiler work.

## The benchmark asterisk

The 8x figure is measured against TypeScript 7.0. TypeScript 7.1 beta is already up to about 2.5x faster than 7.0, according to Nakazawa. One independent measurement against the 7.1 beta found only a 2.7x gain. So the gap is real, but much smaller than the headline suggests.

## The rival port

@theo, whose own port (ts-rust, aka tsc-rs) is a competitor, was gracious with a wink: "Cool ship! It's faster than my port in most things. I heard that they wanted to ship earlier but delayed because my --fast mode beat them 🤣 That said, it looks like tsrs is the real winner." Cloudflare is now working with him to merge tsc-rs and tsrs into one package with LSP and content mapper support.

## Before you swap it into CI

There's no watch mode and no language server yet. The WebAssembly build, @tsrs/wasm, runs single-threaded with a 4 GiB memory cap per instance. And tsrs exits with code 2 on type errors where tsc exits with 1, which can break CI scripts that check for specific codes.

Try it with `npx tsrs -p . --noEmit` against your existing tsconfig.json.

## Questions this post answers

### How do I run tsrs to type-check my TypeScript project?

Point tsrs at an existing tsconfig.json and run `npx tsrs -p . --noEmit`. tsrs is an experimental Rust port of the TypeScript compiler built by Max Schwenk of Owner.com with the TypeScript team, incubating inside the Oxc toolchain. It currently has no watch mode or language server, so it works as a fast CI checker rather than an editor replacement.

_Developers evaluating faster TypeScript tooling track new releases like tsrs on daily.dev._

### How much faster is tsrs than the TypeScript compiler?

Vendor benchmarks claim tsrs is up to 8x faster at checking and uses about 70% less memory than TypeScript 7.0, at the same number of checker workers. These figures come from Cloudflare and VoidZero, who announced tsrs on October 20, 2026, so independent monorepo testing is still needed to confirm real-world gains.

_Teams deciding whether to adopt a faster TypeScript checker follow benchmark claims like this on daily.dev._

### What is happening with the rival Rust TypeScript compiler ports tsrs and tsc-rs?

Cloudflare is working with Theo Browne to merge tsc-rs (his Rust port of the TypeScript compiler) and tsrs into a single package, adding LSP support and content mappers. Theo publicly conceded that tsrs is 'the real winner' in most benchmarks while joking that his own --fast mode forced a launch delay.

_Anyone tracking the Rust TypeScript compiler race can follow how competing projects consolidate on daily.dev._

## Community take

How the wider developer community reacted, aggregated from 1 discussion and 100 comments across hackernews (as of 2026-10-27).

**TL;DR:** Reaction is largely intrigued by the speed/memory numbers and the TypeScript team's own engagement, but there's real skepticism about whether the gains matter for typical developers, concern about AI-generated code quality and soundness of its memory model, and fatigue with Rust rewrites in general.

**Sentiment:** 35% positive · 40% mixed · 25% skeptical

**The case for**

- Several report large real-world speedups and lower memory use when benchmarking it themselves on actual codebases.
- The official TypeScript team member's constructive, collaborative response was well received and seen as a sign the project is more than a gimmick.
- Faster feedback loops are seen as valuable for CI, large codebases, and especially AI coding agents running at scale.

**The pushback**

- Many argue the existing Go-based compiler is already fast enough for the vast majority of projects, so the gains are largely irrelevant outside huge codebases or high-volume use cases.
- Some are uneasy about a compiler being almost entirely AI-generated, worrying about unreviewed architectural decisions and subtle bugs.
- A technical critique surfaced that the project's arena-based memory reuse scheme may be unsound, relying on unproven liveness assumptions rather than safe lifetimes.
- General fatigue/skepticism about yet another 'rewrite it in Rust' trend, with some preferring other approaches entirely.

**By community**

- hackernews (mixed): Excitement over benchmark numbers and the TypeScript team's friendly engagement is tempered by pointed debates over whether the speed matters, doubts about AI-authored code and memory safety, and broader Rust-rewrite fatigue.

**Hottest debate:** Whether the performance gains actually matter for most developers versus only at the largest scale/volume use cases (the 'F1 car vs groceries' analogy debate).

**Open questions**

- Is the arena/never-freed memory recycling scheme actually sound, or does it rely on unproven assumptions about object liveness?
- Will Microsoft continue investing in the Go-based compiler given a much faster Rust alternative exists, or fold in the optimizations discovered here?
- How will the planned merge with Theo Browne's tsc-rs/tsgo-rs actually play out technically?

**Highlights**

> Hey there, TypeScript team member here. The tsrs project has been extremely interesting to see come together. We've been working with the maintainers to better understand how tsrs is fast and what sorts of optimizations it uses are safe. We even did our own Rust vibe port and what we currently suspect is that a lot of the speed does not just come down to language choice, and some of what is going to make TS 7.1 faster and leaner (see the charts in the blog post) actually comes from optimizations discovered in tsrs. We think the wasm and oxlint integration makes a lot of sense for Cloudflare's needs, so this investment makes sense. At the same time, we'll be working hard and collaborating to make the official TypeScript toolset faster and even more efficient. Congrats to the tsrs team on making this official. We're excited and we look forward to continuing on collaboration!
> — [DanRosenwasser on hackernews · 5 comments](https://news.ycombinator.com/item?id=50167925)

> It appears they're using a unique memory model (https://github.com/oxc-project/tsrs/blob/main/docs/PORTING.m...) to overcome the challenge that prevented the TypeScript team from choosing Rust to begin with: Rust has no GC and porting from a GC language to it often requires restructure of data. Essentially, they fake a GC via never-freed arenas for long-living objects. It's interesting that Rust can do that (hopefully soundly)!
> — [afdbcreid on hackernews · 2 comments](https://news.ycombinator.com/item?id=50167990)

> From the file: >Create with P::new(value). p.get() returns &'static T. [...] unless an explicit recycling site proves them dead It's unsound, the LLM/human is doing the proving. They've hidden unsafe in an abstraction without removing the unsafeness.  Using the arena allocator's lifetime would have been safe and easy (bumpalo recommends this AFAIK). I'm guessing a sycophantic LLM either found or praised this load-bearing seam.
> — [zamalek on hackernews · 3 comments](https://news.ycombinator.com/item?id=50168234)

> Now we're getting somewhere. This is a great example because obviously speed depends on the context. Obviously a shovel is quite an improvement for home gardeners but big constructions need a completely different tool. For +99% of TS projects going from eg 10ms to 1ms is not going to make any difference even though it's a 10x improvement. In part because most monitors refresh at 60hz (16ms per frame) but even with +120hz monitors this is not going to have an impact on any workflow. Even for CI network latency is going to be a much bigger factor than improving TS compilation beyond the performance that TSGO already provides.
> — [pier25 on hackernews · 1 comments](https://news.ycombinator.com/item?id=50169697)

> It's exciting to see the speed gains. I use TypeScript every day on a large codebase, and it is too slow to run locally. I don't love this change though: > However, frontier AI models can now do large-scale ports almost independently in a matter of days > I wrote zero code. Not "barely any". Zero So we are going to move from a carefully handwritten port to an entirely AI-generated port. I know this is the way the industry is headed, I use coding agents a ton. But I still review their output because they often don't make sound architectural decisions. Maybe this is a sign that my way of working is going away. I'm not sure how to justify that kind of time spent when someone can do the same thing in a matter of days with barely any effort. I am working on my own language now, I've spent most of this year on it. The idea that someone could just replace it in a matter of days is wild. Wonder how the TS team at Microsoft feels about this.
> — [egonschiele on hackernews · 3 comments](https://news.ycombinator.com/item?id=50167341)

**Source threads**

- [hackernews](https://news.ycombinator.com/item?id=50165953) · 188 points · 100 comments

## Similar posts on daily.dev

- [Issue \#807: The up to 8x faster Rust port of TypeScript — JavaScript Weekly](https://daily.dev/posts/issue-807-the-up-to-8x-faster-rust-port-of-typescript-javascript-weekly-ddwszb0no) · JavaScript Weekly · 0 upvotes · 0 comments
- [TypeScript 7 Is “10x Faster.”](https://daily.dev/posts/typescript-7-is-10x-faster--2rlebp7bx) · Medium · 1 upvotes · 1 comments

---

Tags: [#typescript](https://daily.dev/tags/typescript), [#rust](https://daily.dev/tags/rust), [#cloudflare](https://daily.dev/tags/cloudflare)

[View this post on daily.dev](https://daily.dev/posts/tsrs-ships-and-theo-s-rival-port-just-got-absorbed-wxzirxmz4)

```json
{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://daily.dev/#organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180},"sameAs":["https://twitter.com/dailydotdev","https://github.com/dailydotdev","https://www.linkedin.com/company/daily-dev-ltd"]},{"@type":"WebSite","@id":"https://daily.dev/#website","url":"https://daily.dev","name":"daily.dev","publisher":{"@id":"https://daily.dev/#organization"},"potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://daily.dev/search?q={search_term_string}"},"query-input":"required name=search_term_string"}}]}
{"@context":"https://schema.org","@type":"TechArticle","headline":"tsrs ships, and Theo's rival port just got absorbed","url":"https://daily.dev/posts/tsrs-ships-and-theo-s-rival-port-just-got-absorbed-wxzirxmz4","mainEntityOfPage":{"@type":"WebPage","@id":"https://daily.dev/posts/tsrs-ships-and-theo-s-rival-port-just-got-absorbed-wxzirxmz4"},"datePublished":"2026-10-20T15:09:26.928Z","dateModified":"2026-10-27T07:44:39.696Z","description":"Cloudflare and VoidZero shipped tsrs, an experimental Rust port of the TypeScript compiler, on October 20, 2026. It's built by Max Schwenk of Owner.com with...","image":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/757965af091e9f3eedcedd4ad112a666?_a=AQAEuop","thumbnailUrl":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/757965af091e9f3eedcedd4ad112a666?_a=AQAEuop","isAccessibleForFree":true,"articleSection":"Trends","inLanguage":"en","publisher":{"@type":"Organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180}},"author":{"@type":"Organization","name":"Trends","logo":"https://media.daily.dev/image/upload/s--ZfSp3asX--/f_auto,q_auto/v1780996004/logos/trends?_a=BAMAMiWQ0","url":"https://daily.dev/sources/trends"},"commentCount":0,"discussionUrl":"https://daily.dev/posts/tsrs-ships-and-theo-s-rival-port-just-got-absorbed-wxzirxmz4","interactionStatistic":[{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":12},{"@type":"InteractionCounter","interactionType":{"@type":"CommentAction"},"userInteractionCount":0}],"keywords":"typescript,rust,cloudflare","timeRequired":"PT3M"}
{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://daily.dev"},{"@type":"ListItem","position":2,"name":"Trends","item":"https://daily.dev/sources/trends"},{"@type":"ListItem","position":3,"name":"tsrs ships, and Theo's rival port just got absorbed"}]}
{"@context":"https://schema.org","@type":"FAQPage","@id":"https://daily.dev/posts/tsrs-ships-and-theo-s-rival-port-just-got-absorbed-wxzirxmz4#faq","mainEntity":[{"@type":"Question","name":"How do I run tsrs to type-check my TypeScript project?","acceptedAnswer":{"@type":"Answer","text":"Point tsrs at an existing tsconfig.json and run `npx tsrs -p . --noEmit`. tsrs is an experimental Rust port of the TypeScript compiler built by Max Schwenk of Owner.com with the TypeScript team, incubating inside the Oxc toolchain. It currently has no watch mode or language server, so it works as a fast CI checker rather than an editor replacement. Developers evaluating faster TypeScript tooling track new releases like tsrs on daily.dev."}},{"@type":"Question","name":"How much faster is tsrs than the TypeScript compiler?","acceptedAnswer":{"@type":"Answer","text":"Vendor benchmarks claim tsrs is up to 8x faster at checking and uses about 70% less memory than TypeScript 7.0, at the same number of checker workers. These figures come from Cloudflare and VoidZero, who announced tsrs on October 20, 2026, so independent monorepo testing is still needed to confirm real-world gains. Teams deciding whether to adopt a faster TypeScript checker follow benchmark claims like this on daily.dev."}},{"@type":"Question","name":"What is happening with the rival Rust TypeScript compiler ports tsrs and tsc-rs?","acceptedAnswer":{"@type":"Answer","text":"Cloudflare is working with Theo Browne to merge tsc-rs (his Rust port of the TypeScript compiler) and tsrs into a single package, adding LSP support and content mappers. Theo publicly conceded that tsrs is 'the real winner' in most benchmarks while joking that his own --fast mode forced a launch delay. Anyone tracking the Rust TypeScript compiler race can follow how competing projects consolidate on daily.dev."}}]}
```

