CCP 압축기 Phase12 — 한선씨 TRIT 인코더 완성 (LZ 매치탐색 + 멀티블록)
개요
Phase11의 한선씨 인코더(전리터럴+order-0)를
경쟁력 있는 압축기로 완성. LZ 매치탐색 + 멀티블록.
① LZ 매치탐색 (C lz_encode 거울)
- 해시테이블 65536버킷×4B 버퍼(pos+1 저장, 미기록=정수읽기 음수=빈칸→init 불요).
lz해시(v)=몫2k(곱32(v,2654435761),16), 매치≥4 read32 검증, 오프셋 2B.
- 효과: 반복 텍스트 1800B → (전리터럴)1111B(61%) → (LZ매치)121B(6%) — 10배.
- 한선씨LZ vs 네이티브L9: text 95/88 · zeros 79/76 · big60k 124/133(한선씨 승) · binary 399/323 · random 2059 동일 → ±10% 경쟁력.
② 멀티블록
- 65536B 블록 분할, 블록당 TRIT/STORE 최소채택.
- 머클 = SHA256(블록별 SHA256 다이제스트 연접) — C merkle_root 거울.
- 검증: 2블록(130KB)·4블록(200KB, 39%)·혼합(random+zeros+text), 전부 네이티브
ccp d 체크섬 OK + byte-identical.
신규 VM 함정
버퍼잘라(BUF_SLICE)가 파일로드 버퍼에서 -1 실패 → 블록을 새 버퍼로 복사 후 해시/LZ(실증).
버퍼길이=기록길이(용량 아님, 신규 버퍼=0). 버퍼 용량 실질 무제한(1M OK).
관련 파일
src/CCP인코더.한선 (LZ인코드·멀티블록 압축파일·헥스투버퍼오프)
잔여 / 다음(Phase13)
- order-1 컨텍스트 + 2스트림 분리(tflag1) → 압축률↑ (binary/text 갭)
- 인코더 WASM(브라우저 압축) → 완전 브라우저 코덱
- x86 SHA-NI 실기 검증