피드로 돌아가기
Honest Perf Benchmarks for a Paid-API Compiler
Dev.toDev.to
Infrastructure

Paid-API 기반 컴파일러를 위한 결정론적 벤치마크 시스템 구축

Honest Perf Benchmarks for a Paid-API Compiler

Jeremy Longshore2026년 5월 20일8intermediate

Context

Paid API를 활용하는 TypeScript 컴파일러 구조에서 성능 측정 기준(Baseline)과 회귀 테스트 체계의 부재로 인한 성능 저하 감지 불가 상황. 특히 무작위 텍스트 생성으로 인한 데이터 불일치와 API 비용 발생이라는 제약 사항 존재.

Technical Solution

  • mulberry32 PRNG 기반 Seeded UUID 생성을 통한 머신 간 Byte-identical한 결정론적 Corpus 생성 구조 설계
  • API Key 존재 여부와 별개로 명시적 실행 의사를 확인하는 ICO_BENCH_INCLUDE_CLAUDE 이중 게이트 제어 로직 도입
  • 실행 누락과 성능 개선을 구분하기 위해 'Zero' 기록 대신 skipped: trueskipReason을 포함한 ScenarioRecord 스키마 정의
  • Warmup 단계와 N-iteration Median 계산, RSS Delta 추적을 포함한 bench() 타이머 구현
  • CLI 의존성을 제거하고 Compiler Kernel Primitives만 사용하는 Lint 시나리오의 패키지 분리 및 구조 재배치
  • API 존재 여부 확인(Existence Probe) 대신 직접 Clone 및 Read 방식을 통한 Wiki 콘텐츠 검증 로직 적용

- 결정론적 벤치마크를 위해 `crypto.randomUUID` 대신 Seeded PRNG를 사용하고 있는지 확인 - 유료 리소스 소모 벤치마크 시 '능력 증명(Key)'과 '의지 증명(Flag)'을 분리한 이중 게이트 적용 검토 - 벤치마크 결과 저장 시 '미실행' 상태를 정량적 수치(0)가 아닌 명시적 상태값으로 구분하여 기록

원문 읽기