TypeScript 7 공식 출시, 진짜 압도적으로 빠릅니다

원제 · TypeScript 7 Officially Released And Boy Is It Fast

8:323분 읽기Better Stack2026. 07. 29.컴퓨터/소프트웨어 · AI/미래기술

핵심 요약

TypeScript 7은 컴파일러를 Go 언어로 재작성하여 모든 CPU 코어를 활용하는 공유 메모리 동시성을 구현함으로써 VS Code 기준 컴파일 속도를 125.7초에서 10초 대까지 최대 15배 단축했다.

하이라이트

  • TypeScript 7은 컴파일러를 Go 언어로 이식하여 기존 대비 획기적인 컴파일 속도 향상을 달성했다.

  • VS Code 코드베이스(130만 줄, 8천 개 파일) 컴파일 시간이 기존 125.7초에서 10.6초로 11.9배 단축되었다.

  • 네이티브 코드 실행 성능과 Go의 공유 메모리 기반 동시성 처리가 속도 향상의 핵심 원인이다.

  • 타입 검사 시 `--checkers 12` 플래그를 추가하면 멀티코어를 활용해 검사 시간을 4.7초에서 2.9초로 줄일 수 있다.

  • 프로그래밍 방식 API가 필요한 typescript-eslint, ts-jest 등 일부 패키지는 7.1 버전 출시 전까지 호환이 지연된다.

타임라인

  1. TypeScript 7 공식 출시 및 주요 성능 지표

    1년 이상의 개발 기간을 거쳐 Go 언어로 이식된 TypeScript 7이 정식 출시되었다. 130만 줄, 8천여 개 파일 규모의 VS Code 프로젝트를 기존 125.7초에서 10.6초 만에 컴파일한다. 별도의 복잡한 절차 없이 npm 패키지 설치만으로 Go 컴파일러 기반의 새 버전을 적용할 수 있다.

    • TypeScript 7이 공식 출시되었으며 `npm install typescript` 명령어로 즉시 사용할 수 있다.
    • 컴파일러 엔진이 Go 언어로 이식되면서 컴파일 속도가 비약적으로 개선되었다.
    • VS Code 코드베이스 기준 빌드 시간이 125초에서 10초로 줄어들었다.
  2. Go 이식 선택 이유와 동시성 아키텍처

    기존 JavaScript 기반 컴파일러는 싱글 스레드 특성상 단일 CPU 코어만 사용했다. 워커(Worker) 프로세스를 쓰는 방식은 AST 및 데이터 직렬화/직렬화 해제 비용 때문에 메모리 부담과 속도 저하를 초래했다. Go 언어로 전환함으로써 데이터를 복사하지 않고 공유 메모리를 통해 여러 스레드가 동시에 작업을 처리하도록 구조를 개선했다.

    • JavaScript의 싱글 스레드 한계가 연산 집약적인 컴파일 작업의 병목으로 작용했다.
    • Go 언어의 네이티브 컴파일 실행과 공유 메모리 동시성 모델이 멀티코어 활용을 가능하게 했다.
    • 성능 향상 요소의 절반은 네이티브 실행, 나머지 절반은 공유 메모리 동시성에서 발생한다.
  3. 실제 프로젝트 컴파일 벤치마크 테스트

    컴퓨터의 코어 수가 증가함에 따라 멀티코어를 지원하는 TypeScript 7의 성능 격차는 더 벌어진다. M3 Max 칩셋 환경에서 진단 명령 실행 시 타입 검사 단계에 대부분의 시간이 소요된다. 병렬 체커 수량을 12개로 늘리는 옵션을 주면 타입 검사 시간이 4.7초에서 2.9초로 감소하여 전체 3.5초 만에 작업이 완료된다.

    • BlueSky 프로젝트는 24.3초에서 2.8초로, Playwright는 12.8초에서 1.5초로 컴파일 시간이 단축되었다.
    • M3 Max 14코어 환경에서 `--checkers 12` 옵션을 적용 시 VS Code 컴파일 시간이 3.5초까지 줄어든다.
    • 동일 환경에서 TypeScript 6은 45.3초가 걸려 버전 7이 약 15배 빠른 성능을 보였다.
  4. Go 런타임의 병렬 작업 처리 메커니즘

    `bindSourceFiles` 함수처럼 수천 개 파일의 선언을 수집하는 작업 시 Go 런타임은 작업 큐를 알아서 여러 코어로 분산한다. JavaScript에서는 SharedArrayBuffer 바이트 단위 공유 외에는 객체를 스레드 간 직접 전달할 수 없어 직렬화 비용이 발생하지만, Go는 공유 메모리 구조 덕분에 객체를 즉시 스레드 간에 넘겨줄 수 있다.

    • Go 런타임이 코어 간 작업 분산과 스레드 관리를 자동으로 처리한다.
    • JavaScript의 Promise나 Worker 기반 병렬처리와 달리 객체 복사 비용이 발생하지 않는다.
    • 대용량 파일 바인딩 작업 시 CPU 바운드 처리 효율이 극대화된다.
  5. 언어 서버(LSP) 안정성 및 생태계 패키지 호환성

    대규모 코드베이스에서 코드 수정 시 즉각적인 에러 하이라이팅이 제공된다. 기존 버전 대비 호환성을 완벽히 유지하도록 설계되었으나, 내부 프로그래밍 방식 API는 아직 구현되지 않은 상태다. 이에 의존하는 typescript-eslint, ts-jest, ts-node 등의 도구는 TypeScript 7.1 출시 시점까지 완전히 호환되지 않을 수 있으며, VS Code 환경에서는 마켓플레이스의 TypeScript 7 확장 프로그램을 직접 설치해 사용할 수 있다.

    • 언어 서버 오류 발생률이 80% 이상 감소하고 서버 크래시 비율이 60% 이상 줄어들었다.
    • IDE 내 진단 피드백 반응 시간이 밀리초 단위로 단축되었다.
    • 프로그래밍 방식 API 미지원으로 일부 패키지(typescript-eslint, ts-jest 등)는 7.1 버전까지 업데이트가 지연된다.

설명

TypeScript 7 is officially released, and the compiler is Go now. We break down exactly what changed, why the builds are so much faster, and what it means for your own projects. 🔗 Relevant Links https://www.youtube.com/watch?v=OytpXXeNmTQ ❤️ 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 TypeScript 7 is here 1:05 Why they picked Go 2:24 The benchmark numbers 2:51 More cores, not faster cores 3:45 Live demo: TS 6 vs TS 7 on the VS Code repo 4:50 Inside the compiler: bindSourceFiles 5:26 Why JavaScript can't do this 6:05 The new language server 7:11 A port, not a rewrite 7:24 What's still missing (and how to install) 8:01 Wrap up

커뮤니티 글

모든 글 보기
이 영상에 대해 글쓰기