피드로 돌아가기
TypeScript 7 RC: the compiler rewritten in Go, around 10x faster
Dev.toDev.to
Infrastructure

Go 언어로의 컴파일러 재작성을 통한 빌드 속도 10배 향상

TypeScript 7 RC: the compiler rewritten in Go, around 10x faster

Jatniel Guzmán2026년 6월 21일5advanced

Context

기존 TypeScript 컴파일러의 JavaScript 기반 처리 구조로 인한 대규모 프로젝트의 빌드 및 LSP 응답 속도 저하 발생. 네이티브 코드 실행 및 병렬 처리 능력의 한계로 인해 개발 생산성 병목 지점 형성.

Technical Solution

  • 기존 타입 체크 로직의 구조적 일관성을 유지하며 컴파일러 전체를 Go 언어로 포팅한 설계
  • Shared Memory 기반의 병렬 처리를 통해 Parsing, Type-checking, Emit 단계의 동시 실행 구조 구현
  • 결정론적 결과 보장을 위해 고정된 Worker 수를 통해 파일 간 의존성을 처리하는 분산 작업 모델 적용
  • Parcel 파일 와처를 Go로 포팅하여 node_modules 폴더의 고비용 Polling 방식을 제거한 경량 Watch Mode 구축
  • @typescript/typescript6 패키지와 npm alias를 활용하여 런타임 호환성 문제를 해결한 Parallel Change 전략 채택

Impact

  • TypeScript 6 대비 빌드 속도 약 10배 향상
  • LSP 기반의 자동 완성 및 실시간 에러 표시 응답 속도 대폭 개선
  • 기본 4개의 Worker를 제공하며 --checkers 옵션을 통한 CPU 코어 최적화 가능

Key Takeaway

도메인 로직(Type-checking)의 정밀도는 유지하면서 실행 엔진(Language Runtime)을 교체함으로써 시스템의 안정성과 성능을 동시에 확보한 전형적인 플랫폼 현대화 사례.


1. TypeScript 7 도입 전 6 버전으로 업데이트하여 Deprecated 문법 및 설정 에러 사전 제거

2. CI 환경의 CPU 코어 수에 맞춰 --checkers 옵션을 조정하여 메모리 사용량과 빌드 속도 최적화

3. Linter 등 외부 툴 호환성 이슈 발생 시 npm alias를 통한 버전 병행 운용 검토

원문 읽기