bench: 증분 루프를 측정으로 증명한다

100k줄 200모듈에서 본문 수정은 downstream을 한 칸도 건드리지 않고(재검사
1개, 0.8ms), 시그니처 수정은 hash가 변한 곳까지만 전파되어(재검사 2개,
2.1ms) downstream 소진성 위반을 실제로 잡는다.

"빠르다"가 아니라 "다시 볼 것이 적다"가 주장이므로, 시간보다 재검사된
모듈 수를 먼저 출력한다.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019ZVDeU6KLuUVL3gs18Hm3E
This commit is contained in:
2026-08-30 14:12:35 +09:00
co-authored by Claude Opus 5
parent 801a7b330b
commit c4662ab627
3 changed files with 142 additions and 0 deletions
+11
View File
@@ -332,3 +332,14 @@ L2 빠른 테스트 / L3 fuzzing / L4 formal proof → 요청 시, 분리 실행
오류를 더 빨리 잡는가? / 컴파일 복잡도·시간은 예측 가능한가? /
invalidation 범위를 넓히는가? / unrelated code 의미를 바꾸는가? /
기존 개념의 중복 표현인가? → 강한 이유 없으면 거절
■ 측정 (2026-08, v0 fast path)
100,391줄 / 200 모듈 (사슬 의존). bench/bench.ml로 재현.
cold 전체 검사 245ms
본문만 수정 0.8ms, 재검사 1개 모듈
시그니처 수정 2.1ms, 재검사 2개 모듈 (+ downstream 소진성 위반 검출)
증분 루프의 비용은 시간이 아니라 재검사 범위가 결정한다. 본문 수정이
downstream을 한 칸도 건드리지 않는 것이 이 아키텍처의 주장이고, 위 수치의
"재검사 1개"가 그 주장이다. 시그니처 수정이 사슬 끝까지 가지 않고 2개에서
멈추는 것도 같은 규칙의 결과다 — m101의 interface는 변하지 않으므로 m102는
다시 볼 이유가 없다.