From b1ce1927022d374198441afafeb27199fc8a052a Mon Sep 17 00:00:00 2001 From: eunhhu Date: Thu, 24 Sep 2026 17:14:54 +0100 Subject: Establish native micro runtime checkpoint --- docs/research/070-micro-default-build.md | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 docs/research/070-micro-default-build.md (limited to 'docs/research/070-micro-default-build.md') diff --git a/docs/research/070-micro-default-build.md b/docs/research/070-micro-default-build.md new file mode 100644 index 0000000..33b8408 --- /dev/null +++ b/docs/research/070-micro-default-build.md @@ -0,0 +1,31 @@ +# 070 — 기본 빌드의 비용 경계 + +2026-09-24. Linux AArch64, GCC 14.2, C17 `-O2`. 마이크로 런타임의 기본 빌드가 +선택형 기능을 실수로 끌어오지 않도록 `make all`을 코어와 고정 정의 CLI로 제한했다. +`editor.pure`를 빌드할 때 준비하는 작은 컴파일러 실행물도 생성되지만, 완성된 +CLI에는 링크하거나 배포하지 않는다. 실행 중 `.pure`를 읽고 바꾸는 CLI는 +`make editor`, HTTP는 `make server`, TUI와 인증 피어도 각각 명시적 선택이다. + +깨끗한 소스에서 기본 `make`를 실행했을 때 빌드 디렉터리에는 +`runtime.o`, `libpure-execution.a`, `pure-compile`, `embedded-plan.h`, +`pure-edit-fixed`만 있었다. 새 [소스 묶음](../../prototypes/connections/results/2026-09-24-micro-default/pure-source-preview.tar.gz)을 +다른 디렉터리에 풀어 같은 목록을 검사하고, CLI·TUI의 실제 PTY 작업, +1 MiB 문서 RSS, 소스 정의 수정, Linux 릴리스 검사를 다시 실행했다. +[추출 검사 결과](../../prototypes/connections/results/2026-09-24-micro-default/source-package-check.json)에 +재현 경로를 기록했다. + +| 비용 | 기본 고정 실행 경로 | 소스 읽기 선택 경로 | +|---|---:|---:| +| 코어 `text` | 4,632 B | 동일 | +| 문서 CLI 링크 `text` | 19,268 B | 36,135 B | +| 1 MiB 문서 편집 피크 RSS | 2,112 KiB | 2,080 KiB | + +이 변경은 링크 코드와 기본 의존성 선택을 줄였으며, RSS 개선을 입증한 것은 아니다. +측정된 RSS는 오히려 고정 CLI 쪽이 32 KiB 높았고 실행·페이지 배치의 변동과 +분리할 근거가 없다. 코어 `text`와 120 B 유휴 영역, 216 B 작업 슬롯은 +변하지 않았다. 두 CLI의 직접 동적 라이브러리 의존성은 이 호스트에서 libc 하나다. +빌드용 컴파일러, libc, 스택과 저장 파일 비용을 코어 수치에 포함하지 않았다. + +이후 앱 기능은 기본 코어에 넣기 전에 필수 의미론인지 확인하고, 선택한 +실행물의 링크 코드·실제 전체 메모리·배포 묶음 비용을 별도로 검사한다. +선택형 어댑터의 기능을 기본 빌드에 추가할 때는 같은 검사를 다시 통과해야 한다. -- cgit v1.2.3