비전2026.06.14·읽기 5분
가벼움 = 깊이의 전제
LUTable의 8가지 핵심 원칙 중 마지막은 "가벼움 = 깊이의 전제"입니다. 언뜻 모순처럼 들리는 이 문장이 왜 모든 설계 결정의 바닥에 깔려 있는지 풀어봅니다.
깊이는 비싸다
LUTable은 깊이를 추구합니다. 셀 안에 셀, 재귀적 추상화, 무한히 쌓이는 파이프라인. 그런데 깊이는 본질적으로 비쌉니다. 층이 깊어질수록 메모리를 더 먹고, 계산이 더 늘고, 화면에 그릴 것이 많아집니다.
그래서 대부분의 강력한 도구는 무겁습니다. 무거우면 느리고, 느리면 깊이 들어가기 전에 사용자가 지칩니다. 결국 "강력하지만 아무도 끝까지 안 쓰는" 도구가 됩니다.
그래서 가벼움이 먼저다
우리의 결론은 단순합니다. 가벼움 없이는 깊이가 의미가 없다. 깊은 층까지 내려가도 여전히 빠르게 반응해야, 사용자가 그 깊이를 실제로 활용합니다. 가벼움은 미관이 아니라 깊이의 전제 조건입니다.
6차원의 가벼움
LUTable은 가벼움을 하나가 아니라 여섯 개의 축으로 동시에 추구합니다.
- 메모리 — 안 쓰는 Surface는 인덱스만 남기고 내용을 들고 있지 않습니다.
- CPU — 레이아웃·렌더 결과를 캐시하고, 바뀐 부분만 다시 계산합니다.
- 시작 시간 — 첫 화면까지 필요한 것만 로딩. 나머지는 lazy.
- 지연(latency) — 입력에서 반응까지의 체감 시간. 오프라인 우선이라 네트워크를 기다리지 않습니다.
- 번들 크기 — 핵심 로직은 Rust/WASM으로 작게, TS는 얇은 glue만.
- 네트워크 — 로컬이 정본이고 서버는 동기화 경로. 매 동작마다 서버를 때리지 않습니다.
설계 규칙으로
이 원칙은 추상적 구호가 아니라 구체적 결정으로 내려옵니다. "이 기능을 넣으면 시작 시간이 늘어나는가?" "이 데이터를 항상 메모리에 들고 있어야 하는가?" 모든 PR이 이 6차원을 통과해야 합니다.
덕분에 LUTable은 깊은 곳까지 내려가도 가볍습니다. 그리고 그 가벼움이 다시 더 깊은 기능을 가능하게 합니다. 가벼움과 깊이는 상충하는 게 아니라, 서로의 조건입니다.
L