diff options
Diffstat (limited to 'docs')
| -rw-r--r-- | docs/design/027-computation-core.md | 17 |
1 files changed, 15 insertions, 2 deletions
diff --git a/docs/design/027-computation-core.md b/docs/design/027-computation-core.md index 06e48ec..023f277 100644 --- a/docs/design/027-computation-core.md +++ b/docs/design/027-computation-core.md @@ -1,6 +1,6 @@ # 027 — 계산의 핵: 상태는 값 하나, 값은 몇 가지로 짓는다 -작성일: 2026-10-13. 상태: 설계와 단계. [026](026-app-contract.md)이 얼릴 계약 안에서 계산의 언어를 다시 세운다. 잴 도구는 +작성일: 2026-10-13. 상태: 다섯 단계를 모두 만들었다(5단계의 마감, 2026-10-19). [026](026-app-contract.md)이 얼릴 계약 안에서 계산의 언어를 다시 세운다. 잴 도구는 [140](../research/140-spec-suite.md)의 명세 묶음이다. 1.0 전이라 호환은 챙기지 않는다. 사용자의 말: "진행해" (2026-10-13). 1단계를 만들었다([140](../research/140-spec-suite.md)의 뒷절). @@ -28,7 +28,7 @@ - 140의 탐침 - 지금의 구현: 값의 칸 `Slot`, 열로 담은 B+트리 `PureList`, aup의 타입 여덟 - 선행 기술: 아래 "선행" 절 -- **다음 결정.** 1단계를 만든다. +- **다음 결정.** 다섯 단계를 만들었다(아래 단계마다의 기록과 마감). ## 핵 @@ -569,6 +569,19 @@ 저장소에서의 두 번의 시작(옮긴 뒤 옮긴 대로 저장된 것)이 같고, 이전 모듈로 되돌아가면 false는 i64의 0이다. - 008: 교체와 시작의 규칙에 i64, `values`와 리스트 이미지의 i64 칸(2의 보수, 리틀 엔디언 8바이트). - 명령 수: Pure의 코드가 그대로라 세지 않았다. +- **5단계의 마감(2026-10-19).** + - 수는 둘이다. number(binary64)는 리터럴과 셈의 기본이고, i64는 정확한 정수와 비트와 돈이다. `/`는 number의 나눗셈이고 `//`는 + 내림한 몫이다(명령 FLOORDIV, 95 → 96). i64의 합은 정확하고 결과만 범위를 본다. 돈은 i64의 최소 단위이고 `.Nd`로 보인다. 교체와 + 저장된 값은 정확할 때만 옮긴다. + - 막대: TPC-C가 SQLite와 행마다 같은 상태를 남긴다. 돈이 양쪽에서 정수라 이제 오차 없이 같다(2만 트랜잭션, 묶은 SQLite도). + - 줄 수: 코어 22,766 → 22,791, serve.c 5,058 그대로, aup의 compile.c 5,720 → 5,726. + - 명령 수(b45 대 4단계 끝의 b42): 다섯 일 모두 ±0.04% 안이다(실행기만의 BFS −0.03%). 은행 질의(s42와 s45를 한 번에 번갈아 여섯 + 번의 중앙값)는 per_branch −0.58%, in_credit +0.56%, ranks +0.20%, 나머지 ±0.01% 안이고(두 빌드의 여섯 번이 서로 겹친다), 일곱 + 질의의 답은 바이트까지 같다. + - TPC-C(메모리, W=1, 64 터미널, 20초, 번갈아 세 번씩의 중앙값): 4단계 끝(s42)의 제 앱(돈이 number, 7e1b3dc의 벤치마크) 초당 + 46,092, 같은 빌드의 5단계 앱(돈이 i64) 47,303, 5단계 끝(s45)의 그 앱 47,287. 런타임은 같고(−0.03%), 앱이 i64의 돈으로 2.6% + 빠르다. 서버의 트랜잭션당 CPU가 42.3에서 39.6–39.8 µs로 준다. 까닭은 가르지 않았다(JSON의 소수 금액은 이미 Clinger의 빠른 + 길로 읽으므로 그것만은 아니다). new-order p99는 3,584 → 3,456 µs다. **순서의 까닭.** - 1과 2가 묶음의 명세 대부분을 연다. 가장 값이 크다. |
