일간
tsrs — Cloudflare와 VoidZero가 TypeScript 컴파일러를 Rust로 포팅, 'TS 7.0보다 최대 8배'
Cloudflare 블로그, 10월 20일. 프로젝트 이름은 tsrs이고 저장소는 oxc-project/tsrs입니다.
누가, 무엇을
- Cloudflare와 VoidZero(Vite·Rolldown·Oxc의 회사)가 Owner.com의 Max Schwenk과 함께 만들었습니다. Oxc 툴체인 안에서 인큐베이팅합니다.
- TypeScript 컴파일러(tsc)의 Rust 포팅입니다. 타입 체크가 핵심이고, "faithful port"를 지향합니다.
- TypeScript 팀과 긴밀히 협업하며, 포크가 아니라고 명시합니다. 언어 설계 결정은 TypeScript 팀이 전적으로 갖습니다.
수치
- 같은 타입체크 워커 수 기준 TypeScript 7.0 대비 최대 8배 빠르고, 메모리 약 70% 감소.
- tsrs에서 upstream된 최적화로 TypeScript 7.1 베타가 7.0보다 최대 2.5배 빨라졌다고 합니다.
- 기본 설정은 머신 종류에 맞춰 적응하며 메모리를 더 쓰는 대신 더 빠르다는데, 구체 수치는 차트에만 있습니다.
TypeScript 7.0은 TypeScript 팀이 JavaScript에서 Go로 포팅한 것이고, 글은 그것을 약 10배 빠른 "성공한 유일한 포팅"으로 평가합니다. tsrs는 그 위에서 비교합니다.
왜 Rust인가
속도보다 WebAssembly입니다. Go를 Wasm으로 컴파일하면 가비지 컬렉터가 함께 들어가 메모리 상호작용이 무겁습니다. Cloudflare의 관심은 Workers 안의 샌드박스에서 개발 툴체인을 end-to-end로 돌리는 것이고, 브라우저·임베디드도 언급합니다. @tsrs/wasm 패키지가 그 결과물입니다.
상태와 한계
- 실험 릴리스입니다.
npm install tsrs,npx tsrs. - 진단 출력 순서 등 upstream과 차이가 있고 안정 릴리스 전까지 줄일 계획입니다.
- LSP와 content mapper는 아직 — tsc-rs와 병합해 지원할 계획으로만 언급됩니다. 에디터에서 쓸 수 없다는 뜻입니다.
- 향후 Oxlint의 타입 인지 린트 규칙에 통합하는 실험을 예고했습니다.
글에 없는 것
라이선스가 없습니다(저장소를 봐야 합니다). 어떤 컴포넌트가 완성됐는지의 목록, 현재 버전 번호, "Microsoft"라는 표현(글은 "TypeScript team"이라고만 씁니다)도 없습니다.
실무에서 할 일
자기 저장소에서 npx tsrs --noEmit을 한 번 돌려 tsc와 시간·결과를 비교해 보세요. 결과가 다르면 — 오류를 더 내거나 덜 내면 — 그게 "faithful port"의 현재 거리입니다. CI에 넣는 건 안정 릴리스 뒤입니다. 더 실질적인 영향은 TypeScript 7.1입니다. tsrs의 최적화가 upstream됐다면 7.1로 올리는 것만으로 2.5배를 받습니다.
2026년 10월 20일에 올라온 글
그날 대시보드 →댓글
불러오는 중…