Vercel Labs, TypeScript 컴파일러를 TypeScript로 다시 작성해 tsgo와 전 항목 일치

tsc-ts: TypeScript written in TypeScript

Vercel Labs가 TypeScript 7.0.2 컴파일러(TypeScript-Go, tsgo)를 TypeScript로 이식한 실험 프로젝트 tsc-ts를 공개했다. scriptc로 네이티브 코드로 컴파일되며, 스캐너·파서·바인더·타입 체커·선언 파일 생성 등 모든 구성 요소가 약 1만 7천 개 테스트 단위에서 tsgo와 동일한 결과를 낸다. tsc --api 서버까지 호환된다.

packages/tsc-ts/src/compiler는 tsgo 7.0.2에서 관용적인 TypeScript로 이식한 컴파일러로, 각 부분은 TypeScript 테스트 코퍼스(약 12,500개 파일, 다중 파일 케이스 분할 후 17,000개 단위)에서 tsgo와 비교된다.
  1. pizlonator

    확인해봤는데 Go 버전보다 빠르더군요. 정말 놀랍고 굉장히 인상적입니다!

    단, 몇 가지 유의할 점이 있습니다:

    - 이걸 "TypeScript로 작성됐다"고 말하는 건 적절하지 않은 것 같습니다. 사실 이건 scriptc가 지원하는 TypeScript의 서브스크립트로 작성된 겁니다. scriptc는 단순한 ts의 부분집합이 아니고, 최적화를 용이하게 하려고 ts 시맨틱에서 교묘하게 벗어나기까지 합니다. 즉 이 사람들은 사실상 RC-GC 하이브리드와 여러 가지 주의사항을 갖춘, TypeScript 비슷한 네이티브 언어를 만들어낸 겁니다. 이게 그냥 새 언어를 만드는 것보다 나은지 어떤지는 분명하지 않습니다.

    - scriptc와 함께 공동 개발됐을 가능성이 매우 높아서, scriptc가 잘 지원하는 바로 그런 관용구들로부터 최대한의 이득을 얻고 있을 겁니다. 그리고 이 결과를 얻으려고 scriptc에 특별히 최적화를 넣었을 거라고 장담합니다.

    이건 유용할 수 있습니다. 그들이 지원에 투자한다는 전제하에, 그리고 여러분이 ts 컴파일이 2배 빨라져야 하는 그런 사람이라면요.

  2. nektro

    > TypeScript 7.0.2 컴파일러(TypeScript-Go, 또는 tsgo)의 실험적 TypeScript 포팅으로, scriptc로 네이티브 코드로 컴파일됩니다.

    이미 typescript에 들어 있는 v6에서 시작하는 게 더 쉽지 않았을까요?

  3. _1tan

    Buns의 v 1.4.3에 들어온 새로운 time typecheck와 벤치마크 비교한 사람 있나요? 저도 해보고 싶은데 지금 제 머신에서 너무 멀리 떨어져 있어서요.

  4. tallowen

    javascript로 도구를 작성하는 것과 go나 rust로 작성하는 것 사이의 오락가락은 지금 불안정한 평형 상태에 있는 것 같습니다:

    - Go / Rust: 기존 도구를 더 성능 좋은 언어로 다시 작성하는 게 그 어느 때보다 쉬워졌습니다

    - Javascript: vercel이나 cloudflare workers용 v8 런타임은 특정 워크로드(예: 대화형 에이전트)를 실행하는 데 있어 무거운 vm을 돌리는 것보다 훨씬 저렴한 방법입니다. 이를 활용하는 또 다른 예시 프로젝트로 just bash를 보세요 (https://github.com/vercel-labs/just-bash)

    앞으로 어떻게 될지 궁금하네요!

  5. drewbitt

    이제 뭐가 밈인지 아닌지 모르겠어요..

이 날의 다른 글

2026-10-17