2026-03-29
요약 (AI 작성)
ZTS 번들러에서 성능 최적화에 집중한 하루였습니다. fixpoint oscillation을 100회에서 2회로 수렴시키고, resolve/emit/finalize 병렬화와 mimalloc 통합으로 번들 속도를 최대 4.7배 개선했습니다. AST 미니파이어 Phase 14(Constant Folding, Dead Code Elimination, Boolean Simplification, Comma Operator)를 구현하고, 배치 AB(번들러 옵션 10개, content hash, naming 패턴)를 완성했습니다. 또한 런타임 헬퍼 자동 주입, mangler 통합, generator try/catch/finally yield 지원 등 다양한 기능을 추가했습니다.
커밋
ohah/zts
- docs: 배치 B 구현 완료 반영
- fix: /simplify 리뷰 반영
- feat(bundler): Batch B — content hash + naming 패턴
- docs: 배치 A 구현 완료 반영 — 미지원 목록 업데이트
- fix: /simplify 리뷰 반영 #2
- fix: /simplify 리뷰 반영
- feat(bundler): Batch A — 번들러 옵션 10개 구현
- style: zig fmt
- docs: AST 미니파이어 Phase 1~4 완료 반영
- fix: /simplify 리뷰 반영
- feat(minifier): Phase 4 — Comma Operator + Template Literal Folding
- feat(minifier): Phase 3 — Boolean Simplification
- feat(minifier): Phase 2 — Dead Code Elimination
- fix: /simplify 리뷰 반영 — evalTruthiness 숫자 파싱 버그 수정
- feat(minifier): Phase 1 — AST Constant Folding
- docs: AST 미니파이어 설계 추가
- docs: CLAUDE.md 번들러 성능 로드맵 실측 기반 업데이트
- perf(bundler): fixpoint oscillation 수정 — 100회 → 2회 수렴
- fix: /simplify 리뷰 반영
- perf(bundler): resolve 병렬화 — 파일시스템 탐색을 스레드 풀 실행
- perf(bundler): emit 병렬화 — 모듈별 transform+codegen을 스레드 풀 실행
- style: zig fmt
- revert: buildFromSemantic + Part 시스템 필드 제거
- fix: /simplify 리뷰 반영
- perf(bundler): Part 시스템 — semantic analyzer에서 StmtInfo 데이터 구축
- docs: 번들러 성능 로드맵 Phase 7-1~7-4 추가
- fix: /simplify 리뷰 반영
- perf(bundler): finalize 병렬화 + tree-shaker 역인덱스 — 번들 최대 4.7배 개선
- perf: mimalloc 통합 — c_allocator 대비 8% 추가 개선
- fix: build.zig에 linkLibC 추가 — c_allocator CI 빌드 수정
- fix: /simplify 리뷰 반영
- perf: c_allocator 전환 + 스레드 풀 + --timing + pipeline 벤치마크
- fix: /simplify 리뷰 반영
- refactor: es_helpers 공통 빌더 + linker 함수 분해 + 정렬 통합 + CLI 파싱 추출
- refactor(emitter): 런타임 헬퍼 상수를 runtime_helpers.zig로 분리
- style: zig fmt 적용
- refactor: 테스트 코드를 *_test.zig 파일로 분리
- refactor(emitter): /simplify 리뷰 반영
- fix: oxlint trailing comma 수정 (withHelpers 괄호 제거)
- feat(emitter): 런타임 헬퍼 자동 주입 (__extends, __generator, __rest, __async)
- fix(benchmark): 소수점 표시로 0KB 표기 문제 수정
- test(codegen): tagged template 유닛 테스트 추가
- fix(transformer): no-substitution tagged template이 선언문 뒤에서 사라지는 버그 수정
- test: e2e 스냅샷 업데이트
- refactor(minifier): /simplify 리뷰 반영
- feat(cli): --minify-whitespace, --minify-identifiers, --minify-syntax 옵션 분리
- refactor(minifier): BitSet 벌크 할당 + MangleInput 구조체화
- refactor(minifier): /simplify 리뷰 반영
- fix(minifier): nested mangling 문자열 메모리 leak 수정
- feat(minifier): oxc liveness BitSet 기반 mangler 통합
- refactor(codegen): emitTemplateLiteral union 필드 안전 체크
- fix(minifier): template literal 내 식별자 rename + nested scope 충돌 방지
- refactor(minifier): /simplify 리뷰 반영
- fix(minifier): mangler preamble 불일치 + import binding 보존 + 테스트 추가
- fix(codegen): for 루프 body 내 변수 선언 세미콜론 누락 수정
- refactor(smoke): 4개 번들러 모두 minify 비활성화 — 공정한 tree-shaking 비교
- fix(smoke): rspack TypeScript loader + config 경로 수정
- feat(smoke): rspack을 4번째 번들러로 추가
- fix(smoke): toolkit external 제거 — redux/react를 번들에 포함
- refactor(resolver): makeResult catch 블록 중복 제거
- fix(resolver): symlink realpath 해석 — bun/pnpm 중첩 node_modules 수정
- fix(smoke): entry 파일을 benchmark 디렉토리에 작성
- fix(ci): smoke test에 별도 bun install 추가
- debug(ci): smoke test node_modules 디버그 스텝 추가
- fix(smoke): esbuild/rolldown 바이너리 경로 fallback 추가
- refactor(transformer): makeExprStmt 헬퍼 추출 — expression_statement 중복 제거
- refactor(transformer): generator try/catch 코드 정리
- feat(transformer): generator try/catch/finally yield 지원