AI VIDEO BRIEFING

타입스크립트 7 네이티브 컴파일러: 10배 빠른 빌드의 비밀

앤더스 헤일스버그가 소개한 타입스크립트 7. 컴파일러를 Go 네이티브 코드로 이식하고 멀티코어 병렬 처리를 도입해 빌드와 에디터 응답이 10배 빨라졌다.

타입스크립트 7 공개: Go로 다시 쓴 컴파일러가 10배 빨라진 이유 영상 대표 이미지

핵심 메시지

  • 타입스크립트 7은 컴파일러와 도구를 자바스크립트에서 Go 네이티브 코드로 이식한 결과로, 지난 10년간 가장 큰 릴리스이며 평균 약 10배 빠르다.
  • 속도 향상의 절반가량은 네이티브 코드 전환에서, 나머지는 여러 코어를 동시에 쓰는 공유 메모리 병렬 처리에서 나온다.
  • 코드 구조·알고리즘·의미는 타입스크립트 6과 99.99% 동일하게 유지해 호환성을 지켰다.
  • 언어 서비스가 LSP(언어 서버 프로토콜)로 전환되어 에디터 응답이 거의 즉각적이며, AI가 생성한 코드의 의미 검증에도 LSP가 점점 더 활용된다.
  • 컴파일러 API에 의존하는 프로젝트(Vue, Astro, Svelte, Volar 등)는 7.1에서 새 네이티브 API가 나올 때까지 타입스크립트 6을 함께 써야 한다.

쉽게 이해하기

마이크로소프트의 기술 펠로 앤더스 헤일스버그가 타입스크립트 7을 공개했다. 약 14년 전 시작된 타입스크립트는 자바스크립트에 정적 타입을 더해 개발 생산성과 도구 지원을 끌어올리는 것을 목표로 삼아 왔고, 지금은 NPM 월 다운로드가 10억 회에 육박하며 1년도 안 되는 사이 깃허브에서 사용량 1위 언어가 됐다.

커뮤니티가 커지며 대규모 프로젝트도 늘었다. 자매 프로젝트인 VS Code만 해도 약 8,000개 파일, 130만 줄 규모다. 문제는 타입스크립트 컴파일러가 자기 자신으로 작성된 자바스크립트 앱이라는 점이었다. 자바스크립트는 브라우저 UI에 최적화됐을 뿐 컴파일러 같은 연산 집약적 작업에는 맞지 않아, 가장 흔한 이슈가 성능과 메모리 부족(OOM)이었다.

약 2년 전 팀은 전체 도구 세트를 Go 네이티브 코드로 옮기는 실험을 시작했고, 그 결과가 타입스크립트 7이다. 시연에서 타입스크립트 6으로 약 50초 걸리던 VS Code 컴파일이 네이티브 컴파일러로는 6.5초 안팎(약 7.5배)으로 줄었다. 파싱·바인딩·방출이 파일별로 동시에 처리되고, 타입 검사 단계는 기본 4개의 타입 검커가 파일을 나눠 병렬로 검사한다.

코어를 더 쓰면 격차는 더 벌어진다. 16코어 머신에서 타입 검커를 12개로 늘리자 4.5초까지 내려가 약 12배가 됐고, 메모리 사용량은 옛 컴파일러와 비슷했다. 헤일스버그는 무어의 법칙이 코어당 속도가 아니라 코어 수를 늘려주는 시대이므로, 연산 집약 작업의 미래는 모든 코어를 활용하는 데 있다고 강조했다.

명령줄 빌드뿐 아니라 에디터 경험도 달라졌다. 언어 서비스가 LSP로 전환되면서 참조 찾기나 오류 표시가 거의 즉각적으로 이뤄지고, 8,000개 파일을 다시 파싱하는 재시작도 2초 이내에 끝난다. 옛 언어 서비스가 응답하는 데 10~12초 걸리던 것과 대비된다. 지난 1년간 네이티브 프리뷰로 검증을 거쳐 안정성도 확보했다. 다만 컴파일러 API를 직접 쓰는 도구는 7.1의 새 API를 기다려야 한다.

주요 인사이트

  • 성능 향상은 실행 코드가 아니라 '개발 도구'의 속도에 대한 것으로, 대규모 프로젝트에서 빌드·타입 검사 대기 시간을 줄여 생산성을 끌어올린다.
  • 10배 향상의 절반은 언어 전환, 절반 이상은 병렬성에서 나온다는 점은 '더 많은 코어' 시대에 맞춘 재설계의 가치를 보여준다.
  • 동작을 99.99% 동일하게 유지한 이식이라는 점이 마이그레이션 위험을 크게 낮추는 핵심 설계 결정이다.
  • 언어 서비스의 LSP 전환은 다른 에디터와의 통합은 물론, AI가 생성한 코드의 의미 검증 파이프라인과도 맞물린다.
  • 컴파일러 API 의존 도구(Vue·Astro·Svelte·Volar)의 존재 때문에 6과 7의 공존 기간이 필요하며, 전환 판단은 API 사용 여부가 가른다.

자주 묻는 질문

타입스크립트 7은 무엇이 달라졌나요?

자바스크립트로 작성돼 있던 컴파일러와 도구를 Go 네이티브 코드로 이식하고 멀티코어 병렬 처리를 도입해, 빌드와 에디터 응답이 평균 약 10배 빨라졌습니다.

10배 빨라진 것은 내 코드의 실행 속도인가요?

아닙니다. 컴파일·타입 검사·에디터 응답 같은 '도구'의 속도가 빨라진 것이며, 실행되는 애플리케이션 코드 자체의 속도가 바뀌는 것은 아닙니다.

지금 바로 타입스크립트 7로 옮겨도 되나요?

대부분의 경우 권장됩니다. 다만 컴파일러 API에 의존하는 Vue, Astro, Svelte, Volar 같은 도구를 쓴다면 새 네이티브 API가 나오는 7.1까지 타입스크립트 6을 함께 사용해야 합니다.

원문과 출처

이 글은 원본 영상의 자막을 바탕으로 한국어 독자를 위해 요약했습니다. 전체 맥락과 최신 정보는 원문에서 확인하세요.

YouTube 원본 영상 보기 ↗

관련 AI 소식