타입스크립트 컴파일러, Go 언어로 다시 태어난다… 컴파일 속도 최대 10배 향상

타입스크립트, Go로 다시 태어난다

타입스크립트 개발자라면 반길만한 큰 변화가 찾아왔습니다. 마이크로소프트가 타입스크립트 컴파일러를 기존 자바스크립트(Node.js 기반)에서 Go 언어로 다시 구현하는 프로젝트를 진행 중이라고 밝혔거든요.

기존 컴파일러는 tsc(TypeScript Compiler)라는 이름으로 동작했고, 자바스크립트로 작성돼 Node.js 런타임에서 실행됐습니다. 하지만 새로운 컴파일러는 Go 언어로 작성된 독립 실행 바이너리로, Node.js가 없어도 어디서든 빠르게 실행할 수 있어요.

이로 인해 플랫폼 종속성을 줄이고, 컴파일 시간과 메모리 효율을 동시에 개선하게 되는 거죠. 특히 클라우드 개발 환경, CI/CD 파이프라인, 가벼운 로컬 개발 환경에서도 훨씬 안정적으로 작동할 수 있습니다.

 

 타입스크립트 컴파일러, Go 언어로 다시 태어난다… 컴파일 속도 최대 10배 향상

 

78초에서 7.5초, 숫자만 보면 체감이 확 온다

마이크로소프트는 비주얼 스튜디오 코드의 전체 코드베이스(약 150만 줄)를 기준으로 기존 tsc로는 78초가 걸렸던 컴파일을, Go 기반 컴파일러에서는 단 7.5초 만에 완료했다고 발표했습니다.

그 속도 차이가 무려 10배가 넘죠. 기존에는 타입 검사와 트랜스파일 과정에서 Node.js 런타임의 싱글 스레드 구조가 병목이 되곤 했는데, 새 컴파일러는 Go의 멀티스레드 처리와 네이티브 실행 구조를 활용해 이 문제를 해결합니다.

또한 tsserver로 불리는 타입스크립트 언어 서버 역시 Go로 재작성되어, 에디터에서 실시간 타입 체크, 자동 완성, 진단 속도가 크게 향상될 것으로 보입니다. 깃허브 코파일럿 같은 AI 코딩 도구와의 연동도 더 부드러워지겠죠.

 

메모리 효율도 무시 못 한다

성능 향상만큼이나 주목할 부분은 메모리 최적화입니다. 기존 tsc는 JIT 기반으로 동작하는 Node.js 위에서 실행되다 보니 런타임 오버헤드가 존재했어요.

하지만 새로운 컴파일러는 JIT를 제거하고, AOT(선행 컴파일) 방식의 Go 컴파일 구조를 사용해 메모리 사용량을 약 50%까지 줄였습니다. 특히 **가상화 환경(GitHub Codespaces, Azure Dev Spaces 등)**에서 타입스크립트 컴파일을 자주 실행해야 하는 개발자에겐 체감 차이가 엄청날 수밖에 없습니다.

메모리 점유율이 낮아지면 CPU도 덜 쓰게 되고, 전체 환경이 가볍게 돌아가니까요. 결국 빠르면서도 ‘덜 무거운’ 컴파일러가 탄생한 셈입니다.

 

타입스크립트 생태계, 어디까지 진화할까

현재 이 새로운 Go 기반 타입스크립트 컴파일러는 tsc-go라는 이름으로 실험적 개발이 진행 중이며, 기존 tsc와의 기능 호환을 목표로 하고 있습니다.

아직은 모든 기능을 완벽히 대체할 수는 없지만, 커뮤니티 중심으로 점진적인 이전이 진행될 예정입니다. 향후에는 언어 서버(tsserver), 빌드 도구(tsbuild), 타입 검사기까지 Go 기반으로 모두 통합될 가능성도 있어요. 이는 단순한 속도 향상이 아니라, 타입스크립트 생태계의 구조 자체를 최적화하는 큰 변화로 이어질 수 있습니다.

마이크로소프트는 피드백 수집을 계속하며 기능을 확장 중이며, OSS 커뮤니티도 활발히 참여하고 있습니다. 지금은 변화의 초입이지만, 조만간 우리 모두가 이 새로운 컴파일러를 표준처럼 사용하게 될지도 모르겠네요. 여러분은 이 변화, 어떻게 보고 계신가요?

출처: 고를 활용해 대폭 빨라지는 타입스크립트