Skip to content
research

Rust가 TypeScript 타입 검사를 3배 빠르게 만들었습니다

한 컴파일러 벤치마크가 언어 논쟁에 다시 불을 붙였고, AI 에이전트는 이 도전자를 몇 주 만에 구축하는 데 일조했습니다. 그러나 도구가 실제 개발 워크플로에 맞아야 하는 만큼, 순수한 속도는 이야기의 일부일 뿐입니다.

Stork editorial team
Rust가 TypeScript 타입 검사를 3배 빠르게 만들었습니다

눈에 띄지 않게 숨어 있던 TypeScript의 속도 저하

TypeScript 개발에는 트랜스파일(transpilation)과 시맨틱 타입 검사라는 두 가지 별개의 과정이 있습니다. esbuild나 Vite 같은 빠른 빌드 도구는 TypeScript 구문을 신속하게 제거하여 실행 가능한 JavaScript로 변환합니다. 이 단계는 빠르며, 보통 밀리초 단위가 걸립니다.

병목은 코드의 유효성을 검증하는 시맨틱 타입 검사 단계에서 나타납니다. 에디터 피드백과 CI 파이프라인에 필수적인 이 과정은 대규모 프로젝트에서 몇 분이 걸릴 수 있습니다. 개발자는 이 지연을 IDE의 느린 오류 보고나 길어진 CI 실행 시간으로 체감합니다.

Microsoft는 TypeScript 컴파일러의 Go 포트로 이 문제를 공식적으로 해결했으며, 기존 JavaScript 엔진 대비 8-12배의 속도 향상을 제공했습니다. TypeScript 7.0에 포함된 이 Go 버전은 검사 시간을 크게 줄였으며, 예를 들어 VS Code의 타입 검사를 125.7초에서 10.6초로 단축했습니다.

최근 커뮤니티 주도의 Rust 구현이 등장하여 새로운 경쟁자로 떠올랐습니다. Cloudflare와 Oxc 프로젝트가 AI 에이전트를 사용해 빠르게 개발한 이 Go 코드베이스의 Rust 포트는 공식 Go 버전보다 3배에 가깝게 빠르다고 주장합니다. 아직 생태계 전반에 통합되지는 않았지만 TypeScript 적합성 테스트의 99.9% 이상을 통과하여 그 잠재력을 보여 줍니다.

벤치마크: 0.3초 대 0.7초

속도 향상을 수치로 확인하기 위해, 기존 JavaScript 컴파일러를 새로운 Go 및 Rust 포트와 비교하는 벤치마크가 진행되었습니다. 테스트에는 793개 파일과 약 380,000줄의 코드로 이루어진 상당한 규모의 코드베이스인 공식 TypeScript 저장소가 사용되었습니다. 완전히 유효한 코드, 단일 타입 오류, 손상된 핵심 타입으로 인한 연쇄 실패, 깊은 재귀의 네 가지 시나리오에서 성능을 평가했습니다.

이처럼 다양한 시나리오 전반에서 결과는 놀라웠습니다. JavaScript 컴파일러는 일관되게 가장 오래 걸렸으며 6.6초에서 13초 사이였습니다. Go 포트는 이를 크게 개선하여 0.6초에서 2.2초 만에 검사를 마쳤습니다. 그러나 Rust 버전은 0.2초에서 0.5초 만에 끝내며 더 우수한 성능을 보였습니다.

주요 수치를 놓고 보면, Rust 컴파일러는 원래의 JavaScript 구현보다 평균 약 24배 빨랐습니다. 더 인상적인 점은 이 특정 테스트에서 Go 포트보다 3배에 가깝게 빨랐다는 것입니다. 이러한 결과는 개발자 경험이 크게 개선될 가능성을 보여 줍니다.

벤치마크 결과는 달라질 수 있다는 점을 기억하는 것이 중요합니다. 하드웨어 사양, 프로젝트 구조, 특정 컴파일러 버전, 정확한 벤치마크 방법론 같은 요소가 모두 성능에 영향을 줄 수 있습니다. 그럼에도 Rust 포트에서 관찰된 일관되고 극적인 속도 향상은 TypeScript 생태계에 중요한 진전입니다.

AI 에이전트가 어렵게 얻은 설계를 그대로 옮겼습니다

놀랍게도 Rust 포트는 사람 엔지니어가 새로운 타입 시스템을 설계해서 나온 것이 아닙니다. 대신 한 엔지니어가 AI 에이전트, 주로 Claude Opus 3.5를 지휘하여 Microsoft의 기존 Go 컴파일러를 함수 단위로 Rust로 번역하게 했습니다. 이 방식은 창의적인 번역이 아니라 기계적인 번역에 의존했습니다.

이 번역 전략은 13,000개 이상의 테스트 케이스로 구성된 TypeScript의 방대한 적합성 테스트 스위트(conformance suite)를 활용했습니다. 각 테스트 케이스는 규격을 따르는 컴파일러가 보고해야 하는 정확한 진단 오류를 명시합니다. 에이전트는 함수를 포팅하고, 해당 테스트를 실행하고, 불일치를 디버깅한 다음 다음 함수로 넘어갔습니다.

현재 Rust 버전이 그러하듯 이 테스트를 모두 통과했다는 것은 공식 Go 컴파일러와 동일한 타입 검사 결과를 낼 수 있는 호환성이 있음을 확인해 줍니다. 덕분에 단 3주의 개발 기간 동안 빠르고 검증 가능한 반복이 가능했습니다. 공식 Go 포트에 대한 자세한 내용은 A 10x Faster TypeScript - Microsoft Developer Blogs를 참조하세요.

그러나 적합성 테스트 통과는 주로 출력의 정확성을 검증할 뿐입니다. 모든 프로젝트 유형에서 동등한 성능을 내거나, 에디터와 매끄럽게 통합되거나, 모든 코드베이스에서 즉시 프로덕션에 사용할 수 있다는 점까지 보장하지는 않습니다. 영상에서 제시된 벤치마크는 설득력이 있지만, 더 폭넓은 도입을 굳히려면 추가적인 통합과 실제 환경에서의 테스트가 중요할 것입니다.

이 글이 마음에 드셨나요? 매일 아침 이런 글을 메일로 받아보세요.

하루 한 통 · 두 번의 클릭으로 구독 취소 · 제3자 추적 없음

속도는 흥미롭지만, 진짜 시험은 도입입니다

Rust의 성능 향상도 흥미롭지만, WebAssembly 측면이 도입을 고려할 만한 설득력 있는 이유가 됩니다. 예를 들어 Cloudflare는 개발자 도구를 브라우저와 엣지 환경에서 직접 실행하는 것을 목표로 합니다. Rust는 Go와 달리 가비지 컬렉터를 번들하지 않고 WebAssembly로 컴파일되므로, 가볍고 샌드박스화된 실행에 이상적입니다.

Microsoft의 Go 기반 TypeScript 컴파일러 구현은 여전히 공식 레퍼런스이며, TypeScript 7.0을 구동하여 상당한 속도 향상을 제공합니다. 반면 Rust 포트는 Vite 제작자들이 만든 Rust 툴체인인 Oxc 프로젝트 안에서 개발되고 있습니다. 이에 따라 Oxc Lint의 타입 인식 린팅(type-aware linting) 같은 향후 활용에 적합하며, 그 속도를 실시간 피드백에 활용할 수 있습니다.

이 벤치마크는 유망한 신호일 뿐 보편적인 보증은 아니라고 보시는 것이 좋습니다. 도입하기 전에 사용 중인 프로젝트 스택에서의 호환성과 도구 지원 여부를 확인하세요. 이러한 최적화와 통합이 일상적인 워크플로에 반영되어 실제로 개발자의 사이클 타임을 줄여 주는지 지켜보시기 바랍니다. Rust 포트의 진정한 시험대는 인상적인 벤치마크에서 폭넓은 실용적 활용으로 나아가는 여정이 될 것입니다.

자주 묻는 질문

Rust TypeScript 컴파일러는 Microsoft의 공식 릴리스인가요?

아니요. Oxc 프로젝트와 관련된 커뮤니티 주도의 Rust 포트이며, Microsoft의 공식 네이티브 컴파일러 포트는 Go로 작성되었습니다.

영상 벤치마크에서 Rust 컴파일러는 얼마나 더 빨랐나요?

TypeScript 저장소 테스트에서 JavaScript 컴파일러보다 평균 약 24배, Go 포트보다 3배에 가깝게 빨랐습니다.

TypeScript 컴파일러를 왜 Rust로 만드나요?

Rust에는 가비지 컬렉터가 없어 WebAssembly 패키징에 유리할 수 있으며, 이 포트는 성능과 메모리 최적화도 함께 탐구합니다.

Rust 포트는 AI가 작성했나요?

엔지니어의 지시 아래 AI 에이전트가 기계적인 포팅 작업의 대부분을 수행했으며, Microsoft의 컴파일러와 TypeScript의 적합성 테스트를 지침으로 활용했습니다.

Found this useful? Share it.

For builders

Want Stork to write one of these about your product?

Send us a URL. We use the product, form a view, and publish what we actually think — in 8 languages, labeled Sponsored, with no copy approval on your side. That last part is what makes it worth quoting.

See how it works$199 · AI tools & software only

빌더를 위해

이 페이지는 지금 다른 사람의 도구를 위해 일하고 있습니다.

AI 에이전트가 읽고, 구매자가 도착합니다. 8개 언어와 MCP로 답합니다. 당신의 도구도 가질 수 있습니다 — 24시간 안에 공개.