타입스크립트가 러스트로 포팅되었습니다... 그런데 고(Go)보다 3배 더 빠릅니다

Original · TypeScript Got Ported To Rust... And It's 3x Faster Than Go

5:202 min readBetter Stack11/05/2026Computing/Software

Key Takeaway

AI 에이전트의 지원으로 단 3주 만에 완성된 러스트 기반 타입스크립트 컴파일러는 기존 Go 버전보다 약 3배 더 빠른 성능을 기록했다.

Highlights

  • 마이크로소프트의 타입스크립트 Go 컴파일러는 기존 자바스크립트 기반 컴파일러보다 약 9배에서 10배 더 빠르다.

  • 러스트로 포팅된 새로운 타입스크립트 컴파일러는 Go 버전보다 약 3배 더 빠르고 자바스크립트보다는 약 24배 더 빠르다.

  • 러스트 버전의 컴파일러는 첫 커밋부터 발표까지 AI 에이전트의 도움을 받아 불과 3주 만에 완성되었다.

  • 러스트 컴파일러는 가비지 컬렉터가 없어 WebAssembly 패키징에 유리하며 브라우저 안에서 실행될 수 있다.

  • 마이크로소프트의 Go 컴파일러가 2년 동안 개발한 설계를 함수 단위로 포팅하여 마이크로소프트 컴파일러와 동일한 에러를 보고한다.

Timeline

  1. 타입스크립트 컴파일러의 배경과 빌드 및 타입 검사 과정

    타입스크립트 컴파일러의 성능 한계를 극복하기 위해 Go 언어 포팅 버전이 등장했다. 빌드 단계는 ESBuild나 Vite 등을 통해 매우 빠르게 처리되지만, 대규모 코드베이스에서의 타입 검사는 수 분까지 소요될 수 있다. 이러한 타입 검사 속도를 가속화하기 위해 새로운 언어로의 포팅 작업이 진행되었다.

    • 마이크로소프트는 타입스크립트 컴파일러를 Go 언어로 포팅한 바 있다.
    • 타입스크립트 작업은 코드를 자바스크립트로 변환하는 빌드 단계와 대규모 코드베이스에서 느린 타입 검사 작업으로 나뉜다.
    • 기존 자바스크립트 기반 컴파일러에 비해 Go 컴파일러는 약 10배 더 빠른 속도를 보여주었다.
  2. 자바스크립트, Go, 러스트 컴파일러 성능 벤치마크 비교

    실제 리포지토리를 기반으로 유효한 타입, 단일 에러, 연쇄 에러, 깊은 재귀 타입의 네 가지 시나리오로 벤치마크를 수행했다. 테스트 결과 자바스크립트, Go, 러스트 순으로 처리 시간이 단축되었으며, 러스트 버전은 평균적으로 Go 버전의 3배에 달하는 속도 우위를 입증했다.

    • 793개의 파일과 약 38만 줄의 코드가 포함된 깃허브 리포지토리를 대상으로 테스트를 진행했다.
    • 시나리오 테스트 결과 러스트 컴파일러는 자바스크립트보다 약 24배, Go보다 약 3배 더 빠른 속도를 기록했다.
    • 핵심 타입이 깨진 대규모 에러 상황에서도 러스트 컴파일러가 가장 압도적인 처리 속도를 보였다.
  3. AI 에이전트를 활용한 러스트 컴파일러 개발 과정

    엔지니어가 직접 코드를 작성하지 않고 AI 에이전트 팀을 지휘하여 Go 코드를 러스트로 전환했다. 타입스크립트가 보유한 방대한 테스트 스위트를 활용해 에이전트가 코드를 포팅하고 깨진 부분을 스스로 수정하는 방식으로 단기간에 높은 호환성과 완성도를 확보했다.

    • 마이크로소프트의 Go 컴파일러 개발에는 2년이 걸렸지만 러스트 버전은 AI 에이전트의 도움으로 3주 만에 개발되었다.
    • Claude Opus 5.5가 이끄는 AI 에이전트 팀이 마이크로소프트의 Go 코드를 함수 단위로 러스트로 포팅했다.
    • 13,000개가 넘는 기존 테스트 스위트를 통과하여 마이크로소프트 컴파일러와 정확히 동일한 에러를 보고한다.
  4. 러스트 포팅의 목적과 향후 활용 계획

    Cloudflare 등이 개발자 도구를 브라우저 안이나 자체 샌드박스에서 실행하기 위해 WebAssembly 패키징이 가능한 러스트 버전을 요구했다. 러스트 버전은 OXC 툴체인 내에서 발전하고 있으며, 향후 OXLint의 타입 기반 린트 규칙 등 다양한 도구에 활용될 계획이다.

    • 러스트 컴파일러는 가비지 컬렉터가 없어 브라우저 내부 및 자체 샌드박스에서 실행하기 유리하다.
    • 러스트 포팅 과정에서 얻은 최적화 요령은 마이크로소프트의 다음 Go 릴리스에도 반영되고 있다.
    • Vite 팀과 동일한 팀의 러스트 툴체인인 OXC 내에서 개발되며 OXLint의 타입 인식 린트 규칙에 사용될 예정이다.

Description

A fully compatible TypeScript compiler written in Rust just landed, and it's meant to be almost 3x faster than the Go port. We ran tsrs, the Go compiler and JavaScript tsc side by side on the TypeScript repo, and found out how it was built in three weeks. If slow type checks eat your day, watch this. 🔗 Relevant Links https://blog.cloudflare.com/typescript-rust-port https://github.com/oxc-project ❤️ More about us Radically better observability stack: https://betterstack.com/ Written tutorials: https://betterstack.com/community/ Example projects: https://github.com/BetterStackHQ 📱 Socials Twitter: https://twitter.com/betterstackhq Instagram: https://www.instagram.com/betterstackhq/ TikTok: https://www.tiktok.com/@betterstack LinkedIn: https://www.linkedin.com/company/betterstack 📌 Chapters: 0:00 Intro 0:40 What a TypeScript compiler actually does 1:32 JavaScript vs Go vs Rust: the benchmark 2:53 How it was built in three weeks 4:06 Why build it in Rust 4:45 What's next for tsrs

Write about this video