본문으로 건너뛰기
피드

러스트로 다시 쓴 타입스크립트 체커, tsz가 tsgo보다 빠르다고 나옴

devops 약 5분
vote
0
댓글
북마크

tsz는 타입스크립트 체커와 언어 서비스(language service)를 러스트로 구현한 실험적 프로젝트다. 마이크로벤치마크에서는 tsgo보다 빠른 성능을 노리고 있고, 타입스크립트 자체 테스트 스위트와 비교하며 호환성을 맞추는 중이다. 다만 대형 프로젝트 최적화는 아직 진행 중이라 지금 당장 tsc 대체재로 보기엔 이르다.

  • 1

    tsz는 러스트로 작성된 타입스크립트 체커와 언어 서비스 프로젝트

  • 2

    40개 성공 마이크로벤치마크 합산 기준으로 성능을 강조

  • 3

    타입스크립트 6.0.3을 타깃으로 하며 러스트 코드만 106만7206줄 규모

  • 4

    타입스크립트 공식 컴파일러 테스트를 통과해도 실제 대형 프로젝트 호환성은 아직 불확실

  • 5

    더 엄격한 타입 검사를 위한 실험적 사운드 모드(Sound Mode)를 탐색 중

  • 러스트로 작성된 타입스크립트 체커 겸 언어 서비스인 tsz가 공개됨

    • 목표는 기존 타입스크립트 툴체인보다 빠른 타입 검사와 에디터 지원을 제공하는 것
    • 프로젝트 설명상 tsgo를 성능 기준점으로 삼고 있고, 그보다 더 빠른 쪽을 노리는 분위기임
  • 현재 공개된 성능 수치는 ‘40개 성공 마이크로벤치마크 합산’ 기준임

    • 즉, 작은 케이스에서는 꽤 인상적인 숫자를 보여주지만 이걸 바로 대형 서비스 코드베이스 성능으로 읽으면 안 됨
    • 프로젝트 쪽에서도 대형 프로젝트 성능 최적화는 아직 진행 중이고, 지금은 큰 프로젝트에 최적화돼 있지 않다고 못 박음
  • 호환성은 타입스크립트 공식 테스트 스위트를 기준으로 맞추는 중임

    • tsc와 비교해서 진단 메시지, 자바스크립트 출력, 선언 파일 출력, 언어 서비스 동작을 검증함
    • 흥미로운 건 “컴파일러 테스트 100% 통과해도 완전 호환이라고 확신하지 않는다”고 말한 부분임
    • 실제 전체 프로젝트 벤치마크에서는 아직 컴파일에 실패하는 케이스가 많고, 공식 테스트가 못 잡는 버그도 많다고 함

중요

> 현재 타깃은 타입스크립트 6.0.3이고, 러스트 코드 규모가 14개 크레이트에 걸쳐 106만7206줄이라고 함. 장난감 프로젝트라기보단 진짜 컴파일러 호환성 싸움에 들어간 규모임.

  • 속도만 보는 프로젝트는 아님. Sound Mode라는 더 엄격한 타입 검사 실험도 같이 하고 있음

    • 타입스크립트는 현실적인 자바스크립트 생태계 호환성 때문에 일부 느슨한 타입 동작을 허용함
    • tsz는 여기서 더 엄격한 모드를 탐색하면서 “빠른 타입스크립트”뿐 아니라 “더 안전한 타입스크립트” 가능성도 건드리는 셈임
  • 지금 개발자가 받아들일 만한 결론은 이거임. 당장 tsc를 갈아엎을 물건은 아니지만, 타입스크립트 툴링의 다음 병목이 어디인지 보여주는 신호탄에 가까움

    • 대형 프로젝트 호환성과 언어 서비스 품질이 따라오면 VS Code, 빌드 파이프라인, CI 타입 체크 시간이 전부 영향권에 들어감
    • 반대로 타입스크립트 호환성은 워낙 미묘한 구석이 많아서, 마이크로벤치마크만으로 승자를 말하기엔 아직 너무 이름

기술 맥락

  • tsz가 러스트를 고른 이유는 타입 검사와 언어 서비스가 결국 CPU를 많이 쓰는 작업이라서예요. 대형 타입스크립트 코드베이스에서는 에디터 진단 하나, CI 타입 체크 하나가 개발자 대기 시간으로 바로 튀어나오거든요.

  • 다만 타입스크립트 컴파일러를 새로 쓰는 건 단순히 빠른 파서를 만드는 문제가 아니에요. tsc의 진단, 출력, 선언 파일 생성, 언어 서비스 동작을 거의 그대로 맞춰야 기존 프로젝트가 깨지지 않아요.

  • 그래서 공식 테스트를 통과했다는 말도 조심해서 봐야 해요. 원문이 직접 말하듯이 테스트 스위트가 못 잡는 실제 프로젝트 버그가 있고, 전체 프로젝트 벤치마크에서 아직 실패하는 케이스도 많거든요.

  • Sound Mode는 더 재미있는 지점이에요. 타입스크립트의 느슨함을 유지할지, 더 엄격한 타입 안정성을 선택할지는 생산성과 안정성 사이의 트레이드오프라서 팀마다 답이 달라질 수밖에 없어요.

타입스크립트 생태계에서 컴파일러 속도 전쟁이 계속 커지는 흐름이다. 다만 이 프로젝트는 숫자보다 ‘호환성 지옥을 얼마나 버티느냐’가 진짜 승부처로 보임.

댓글

댓글

댓글을 불러오는 중...

devops

하이퍼스케일 데이터, 비트코인 채굴장을 최대 30억 달러짜리 AI 데이터센터로 전환

하이퍼스케일 데이터의 자회사 ACS가 캘리포니아 네오클라우드 업체와 미시간 캠퍼스 AI 컴퓨팅 용량 공급 계약을 맺었어. 초기 20메가와트로 시작해 최대 52메가와트까지 늘릴 수 있고, 모든 옵션이 행사되면 계약 규모가 30억 달러를 넘을 수 있다는 내용이야.

devops

KT, 분사했던 KT클라우드 다시 합치나…AIDC 투자 때문에 판 다시 짜는 중

KT가 2022년 분사한 KT클라우드를 다시 합치는 방안을 검토 중인 것으로 알려졌어. 클라우드, 인공지능 데이터센터, 네트워크 인프라를 한 몸처럼 묶어 B2B 경쟁력을 키우려는 흐름으로 읽혀. 다만 KT는 아직 구체적으로 검토한 바 없다는 입장이야.

devops

KT, KT클라우드 다시 합치나…AI 인프라 패키지 전략 시동

KT가 2022년 분사했던 KT클라우드를 다시 흡수하는 방안을 검토 중인 것으로 알려졌다. 인공지능 확산으로 클라우드, 데이터센터, 네트워크를 묶은 기업간거래 인프라 수요가 커지면서 KT 본체의 자금력과 영업력을 활용하려는 전략으로 보인다. 다만 외부 투자자 지분 처리와 통신·클라우드 조직 통합이 실제 관건이다.

devops

Bunny DNS, 쿼리 과금 없애고 500개 도메인까지 무료로 푼다

bunny.net이 Bunny DNS의 DNS 쿼리 과금을 없애고 계정당 최대 500개 도메인까지 무료 DNS 호스팅을 제공하기로 했어. 단순한 무료화가 아니라 CDN, 엣지 보안, 스마트 라우팅을 DNS에서 바로 연결하는 방향으로 플랫폼 진입점을 재정리하는 움직임이야.

devops

가비아, AWS 중소·중견기업 클라우드 역량 인증 받음

가비아가 AWS의 ‘AWS SMB 컴피턴시’를 취득했다. 이 인증은 중소·중견기업의 클라우드 전환과 운영 지원 역량을 검증하는 제도로, 가비아는 운영 프레임워크와 고객 레퍼런스를 인정받았다.