diff options
| author | eunhhu <[email protected]> | 2026-09-24 17:14:54 +0100 |
|---|---|---|
| committer | eunhhu <[email protected]> | 2026-09-24 17:14:54 +0100 |
| commit | b1ce1927022d374198441afafeb27199fc8a052a (patch) | |
| tree | 6021f175f4c67ed03b44240eaa2f90d846f12f6f /docs/research/043-micro-package-boundary.md | |
| parent | d34f9426d5317a1948f12f229439946728bc342a (diff) | |
| download | pure-b1ce1927022d374198441afafeb27199fc8a052a.tar.gz pure-b1ce1927022d374198441afafeb27199fc8a052a.zip | |
Establish native micro runtime checkpoint
Diffstat (limited to 'docs/research/043-micro-package-boundary.md')
| -rw-r--r-- | docs/research/043-micro-package-boundary.md | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/docs/research/043-micro-package-boundary.md b/docs/research/043-micro-package-boundary.md new file mode 100644 index 0000000..2bba83e --- /dev/null +++ b/docs/research/043-micro-package-boundary.md @@ -0,0 +1,29 @@ +# 043 — 고정 실행기 전체 묶음의 크기 경계 + +문서 편집기는 작은 실행 코어와 선택형 호스트로 분리되어 있지만, 코어만 재면 +배포물이 커져도 마이크로 목표를 지켰다고 착각할 수 있다. 고정 정의 앱의 압축 +배포물 전체에 선택별 상한을 추가했다. `package_native.py --fixed`는 실행물 섹션, +CLI 작업 RSS, 선택형 TUI의 1 MiB 작업 RSS를 확인한 다음 아카이브를 만들고, +상한을 넘으면 파일을 공개하지 않는다. 상한은 +[`fixed-package-budget.json`](../../prototypes/connections/fixed-package-budget.json)에 있다. + +| 선택 | 상한 도입 당시 아카이브 | 회귀 상한 | 이동 후 확인한 작업 | +|---|---:|---:|---| +| CLI | 14,692 B | 16,384 B | 생성·읽기·버전 확인 편집 | +| CLI + HTTP | 32,548 B | 34,816 B | 같은 문서를 loopback HTTP로 편집 | +| CLI + TUI | 33,761 B | 35,840 B | PTY의 UTF-8·1 MiB 문서 저장 | +| CLI + HTTP + TUI | 51,424 B | 53,248 B | 두 호스트를 포함한 위 작업 | + +Linux AArch64, GCC 14 및 현재 libc에서 확인했다. 각 묶음에는 선택한 실행 파일, +매니페스트와 사용 문서가 들어가며 디버그 정보는 빠진다. 크기는 기능별로 중복 +링크된 코드를 **모두 포함한 압축 배포량**이다. 공유 libc, 터미널 에뮬레이터, +커널·파일 캐시, 저장 데이터는 포함하지 않는다. 실행 중 RSS는 별도의 1 MiB 문서 +작업으로 확인하며, TUI는 이전에 기록한 3,168 KiB 피크와 4 MiB 상한을 유지한다. +네 묶음과 각 이동 실행 결과는 +[`results/2026-09-24-micro-package-boundary`](../../prototypes/connections/results/2026-09-24-micro-package-boundary)에 보관했다. + +이 경계에 따라 다음 단계에서 고정 TUI에 `.pure` 파서와 소스 편집을 넣지 않는다. +정의 작성은 기존 소스 CLI와 선택형 창이 맡고, 고정 TUI는 준비된 앱의 사용 경로로 +남긴다. 작성과 실행을 한 바이너리로 합쳐야 할 실제 사용 사례가 나오면, 기능· +배포 크기·작업 RSS를 함께 측정한 뒤 경계를 다시 결정한다. 현재 수치로 일반 앱, +macOS 실행, 보안 피어, 저메모리 GUI의 비용을 주장할 수는 없다. |
