[요약] 10배 더 빠른 TypeScript

March 12, 2025 ˑ 5min read

thumbnail
Note

아래 링크의 내용을 요약하였습니다. 원문이 궁금하신 분들은 링크를 참고해주세요!

https://devblogs.microsoft.com/typescript/typescript-native-port

개요

마이크로소프트가 TypeScript의 성능을 대폭 향상시키기 위한 네이티브 포트 프로젝트를 공식 발표했습니다.

TypeScript는 강력한 정적 타입 시스템과 뛰어난 개발자 경험을 제공하지만, 대규모 코드베이스에서 빌드 및 검사 속도가 느려지는 문제가 있었습니다. 개발자들은 긴 로드 시간과 높은 메모리 사용량 때문에 불편을 겪었으며, 특히 AI 기반 도구와 결합할 경우 높은 성능이 필수적이었습니다. 이를 해결하기 위해, 기존 JavaScript 기반 TypeScript 컴파일러(tsc)와 언어 서비스를 Go 언어로 포팅하여 빌드 시간 단축, 에디터 성능 개선, 메모리 사용량 절감 등의 효과를 기대하고 있습니다.

주요 개선사항

최대 10배 빠른 빌드 속도

기존 tsc의 빌드 속도와 비교했을 때, 최대 10배 이상의 성능 향상이 확인되었습니다. 대규모 프로젝트에서도 빠르게 타입 검사를 수행할 수 있어, 개발자가 더 원활하게 코드를 작성하고 디버깅할 수 있습니다.

더 빠른 에디터 반응 속도

에디터에서 TypeScript를 사용할 때, 대형 프로젝트의 경우 파일을 로드하는 데 오랜 시간이 걸리게 됩니다. 네이티브 포트를 적용하면, 프로젝트 로드 시간이 기존 대비 8배 단축되어 개발자가 더 쾌적한 환경에서 작업할 수 있게됩니다.

메모리 사용량 절반 감소

기존 TypeScript는 코드 크기가 커질수록 메모리 사용량도 증가했으나, Go 언어 포팅은 최적화된 실행 방식을 통해 메모리 사용량을 현재 대비 절반 수준으로 감소시켰습니다. 이는 특히 저사양 환경에서도 TypeScript를 보다 원활하게 실행할 수 있다는 것을 의미합니다.

벤치마크 성능 비교

마이크로소프트는 다양한 오픈소스 프로젝트에서 네이티브 포트 tsc를 실행하여 기존 TypeScript와 성능을 비교했습니다. 결과는 다음과 같습니다.

코드베이스크기 (LOC)현재네이티브속도 향상
VS Code1,505,00077.8s7.5s10.4배
Playwright356,00011.1s1.1s10.1배
TypeORM270,00017.5s1.3s13.5배
date-fns104,0006.5s0.7s9.5배
tRPC(server + client)18,0005.5s0.6s9.1배
rxjs(observable)2,1001.1s0.1s11.0배

이처럼 기존 TypeScript와 비교했을 때 빌드 및 타입 검사 속도가 획기적으로 향상되었으며, 대형 프로젝트에서도 10배 이상의 성능 향상을 보였습니다.

로드맵 및 향후 계획

현재 Go 언어 포팅 프로젝트는 개발 초기 단계에 있지만, 마이크로소프트는 2025년 중반까지 tsc의 포팅에 대한 미리보기를 제공할 계획입니다. 이후에는 연말까지 프로젝트 빌드 및 언어 서비스까지 완전히 지원하는 버전을 출시할 예정입니다.

버전 관리 및 향후 TypeScript 계획

  • 기존 JavaScript 기반 TypeScript는 TypeScript 6 (JS) 로 유지
  • 네이티브 포트 버전은 TypeScript 7 (native) 로 명명
  • 6.x 버전도 계속 유지하여 안정적인 전환 지원

TypeScript 7이 충분한 기능적 동등성을 갖추면, 일부 프로젝트는 즉시 전환할 수 있으며, 기존 프로젝트도 차후 원하는 시점에 업그레이드할 수 있도록 지원할 예정입니다.

앞으로 기대되는 변화

이번 프로젝트를 통해 TypeScript는 단순한 성능 향상을 넘어, AI 도구와의 결합, 더 빠른 리팩토링, 즉각적인 타입 검사 등을 제공할 예정입니다. 또한, 더 정밀한 코드 분석이 가능해져 개발 생산성이 더욱 향상될 것으로 보입니다.

마이크로소프트는 앞으로 몇 달 동안 지속적인 업데이트를 제공하며, 개발자 커뮤니티와의 소통을 강화할 계획입니다. GitHub 레포지토리에서 프로젝트를 직접 확인하고 테스트할 수 있으며, 성능 개선과 관련한 추가 정보도 공개될 예정입니다.

Related Articles

Github

Linkedin

Instagram