From 81be688cc6fdfa52633b936a9b8793782b6f5acf Mon Sep 17 00:00:00 2001 From: eunhhu Date: Mon, 19 Oct 2026 02:07:33 +0100 Subject: 027's stage 5 closed: two numbers (number, binary64, the default of literals and of counts; i64 the exact integers, bits and money), / a number's division and // the floored quotient (FLOORDIV, 95 opcodes now 96), an i64 sum exact, money i64 minor units shown by .Nd, a replace and stored values moved when exact; the bar: TPC-C's money and rates integers in Pure and SQLite alike, every row of every table exactly the same after 20,000 transactions; core 22,766 lines to 22,791, serve.c 5,058 as it was, aup's compile.c 5,720 to 5,726; counts: b45 against stage 4's end (b42) within 0.04% on all five works; the bank's queries (s42 and s45 in turns, six each) per_branch -0.58%, in_credit +0.56%, ranks +0.20%, the rest within 0.01%, the seven answers the same bytes; TPC-C in RAM (W=1, 64 terminals, 20 s, in turns, three each): s42 on its own app (money numbers) 46,092 transactions a second, s42 on stage 5's (money i64) 47,303, s45 on it 47,287: the runtime the same (-0.03%), the app 2.6% faster with i64 money (the server's CPU a transaction 42.3 to 39.6-39.8 us, not taken apart), new-order p99 3,584 to 3,456 us; 027's status: the five stages made; CHECKPOINT's direction row through stage 5 --- CHECKPOINT.md | 2 +- docs/design/027-computation-core.md | 17 +++++++++++++++-- .../040-against-c/2026-10-19-counts-stage5.jsonl | 12 ++++++++++++ .../2026-10-19-tpcc-stage5-s42-float-1.jsonl | 3 +++ .../2026-10-19-tpcc-stage5-s42-float-2.jsonl | 3 +++ .../2026-10-19-tpcc-stage5-s42-float-3.jsonl | 3 +++ .../2026-10-19-tpcc-stage5-s42-i64-1.jsonl | 3 +++ .../2026-10-19-tpcc-stage5-s42-i64-2.jsonl | 3 +++ .../2026-10-19-tpcc-stage5-s42-i64-3.jsonl | 3 +++ .../2026-10-19-tpcc-stage5-s45-i64-1.jsonl | 3 +++ .../2026-10-19-tpcc-stage5-s45-i64-2.jsonl | 3 +++ .../2026-10-19-tpcc-stage5-s45-i64-3.jsonl | 3 +++ 12 files changed, 55 insertions(+), 3 deletions(-) create mode 100644 research/experiments/040-against-c/2026-10-19-counts-stage5.jsonl create mode 100644 research/experiments/040-against-c/2026-10-19-tpcc-stage5-s42-float-1.jsonl create mode 100644 research/experiments/040-against-c/2026-10-19-tpcc-stage5-s42-float-2.jsonl create mode 100644 research/experiments/040-against-c/2026-10-19-tpcc-stage5-s42-float-3.jsonl create mode 100644 research/experiments/040-against-c/2026-10-19-tpcc-stage5-s42-i64-1.jsonl create mode 100644 research/experiments/040-against-c/2026-10-19-tpcc-stage5-s42-i64-2.jsonl create mode 100644 research/experiments/040-against-c/2026-10-19-tpcc-stage5-s42-i64-3.jsonl create mode 100644 research/experiments/040-against-c/2026-10-19-tpcc-stage5-s45-i64-1.jsonl create mode 100644 research/experiments/040-against-c/2026-10-19-tpcc-stage5-s45-i64-2.jsonl create mode 100644 research/experiments/040-against-c/2026-10-19-tpcc-stage5-s45-i64-3.jsonl diff --git a/CHECKPOINT.md b/CHECKPOINT.md index ea4b10b..4bdbe2c 100644 --- a/CHECKPOINT.md +++ b/CHECKPOINT.md @@ -26,7 +26,7 @@ | 표 크기의 상태 | 목록이 영속 B+트리다(변경·키 탐색·저장본 위치 O(log n), 스냅숏 O(1), 1,600만 항목, 런타임 상태 1 GiB). pgbench의 TPC-B 같은 이체(세 표의 행과 이력, 한 트랜잭션)가 10만 계좌에서 RAM 24.5k/s(전: 3만 계좌 3.2k/s), SD 카드 내구 1,339/s(SQLite WAL FULL 84–153/s) | [090](docs/research/090-tables.md) | | 일반 트랜잭션 | TPC-C의 다섯 트랜잭션을 aup 앱 하나로 쓴다(여러 표 읽기·쓰기, 조각 훑기, 중복 없는 셈, 실패하면 통째 되돌림). 같은 입력에서 SQLite와 아홉 표의 모든 행이 같다(창고 하나와 넷). RAM 초당 40,976건(W=4 35,838; 조율한 SQLite 10,164, 트랜잭션당 CPU 43–50 µs, HTTP·JSON 포함), SD 카드 내구 4,980건(W=4 4,590). SQLite도 카드에 맞게 조율하고 묶어 커밋하면 739건(W=4 426)이다. 남은 차이는 거래당 쓰는 바이트다(SQLite는 페이지째 써서 8–18배) | [092](docs/research/092-tpcc.md), [106](docs/research/106-tpcc-conditions-first.md), [107](docs/research/107-snapshot-nodes-reused.md) | | 질의 | 질의는 앱의 상태 위에 보기를 더한 모듈이다(`aup query`, `PUT·GET /queries/이름`). 검증한 뒤 스냅숏에서 돌고, 열 안의 fold가 그 행을 읽는다(상관 부질의). 잎이 항목을 필드별로 들고, fold와 필터는 잎 하나씩 돌며(결함이 날 잎만 항목별로), 열 안의 그룹·순위 fold는 목록을 한 번 지나 모든 행에 답한다. 10만 계좌에서 지점별 합계 4.9 ms(SQLite 45, 인덱스를 주면 14.3), 조인 0.48 ms(1.47), 자기 조인 순위 6.8 ms(2,840, 인덱스를 주면 7.6). Pure에는 인덱스 선언이 없다 | [091](docs/research/091-queries.md) | -| 방향(1.0 전) | 앱 계약을 1.0에서 얼릴 후보로 적었다: 이벤트는 전함수이고 원자적이며 결정적이다, 시간은 입력이다, 보기는 커밋된 상태의 순수 함수다, 보이는 역사는 커밋의 앞부분이다, 전달은 순서대로 한 번이다. 계산의 언어(명령 90개, 상태 종류 7개)는 패턴의 모음이라 다시 세운다. 분야마다 고른 명세 열한 개의 묶음에서 오늘의 aup는 바이트, 비트 연산, 중첩, 재귀, 갈래, 글자 읽기에 막힌다(탐침 열 개). 1.0 전에는 호환을 챙기지 않고, JSON과 HTTP는 경계에 남는다. 계산의 핵을 다섯 단계로 다시 세운다(027). 1단계(비트 연산, 자리의 바이트, 수의 리스트, 한 번에 주기)로 aup로 쓴 SHA-256이 공식 벡터를 세 실행 길에서 모두 지난다. 2a(형식 지정, 바이트 잇기와 자르기, 바이트와 text의 let, `while`, 단락 평가의 `&&`·`||`)로 쓴 JSON 검사기가 JSONTestSuite에서 하나도 틀리지 않는다. 2b(레코드 안의 레코드, 갈래와 `match`, 레코드 안의 리스트, 수 읽기)로 JSON을 트리로 읽어 다이제스트가 파이썬과 같다(JSONTestSuite, 무작위 문서 300개). 2c(스스로 부르는 함수: 부름마다 제 스택·지역 칸·리스트·레지스터·담은 값, 깊이는 표로 센 프레임 바이트가 몫에서 묶음; 값으로서의 레코드; 글자 읽기)로 JSON 트리를 재귀 하강으로 다시 써 JSONTestSuite와 무작위 문서 300개가 파이썬과 같고, 10만 겹은 `memory`로 거절한다. 반복 아래에 값을 둔 모듈이 검증을 지나 실행기를 죽이던 구멍도 찾아 막았다. 3단계(중첩한 저장 상태: 저장과 transient의 리스트가 리스트를 담은 레코드를 받고, 그 칸은 값을 항목들의 저장 형태로 바이트처럼 담아 이미지·로그·되돌리기·회복이 그대로다)로 열 → 카드 → 태그의 보드가 메모리 앱과 여덟 번 재시작하는 저장 앱에서 매 걸음 같고(스냅숏 2,400개), 커밋의 여섯 단계 어디서 죽여도 전부 아니면 없음이며, 교체는 이름으로 깊이까지 옮긴다. 중첩 리스트를 바꾸는 비용은 그 값의 크기에 비례한다(이미 있는 항목 하나에 170 ns). 줄 수는 검사기만 파이썬 이하이고(80 대 90), SHA-256(42 대 28)과 트리(142 대 105)는 길다. 시간은 C의 40–159배이고 바이트를 다루는 일은 순수 파이썬과 비슷하거나 느리다(0.43–1.6배): 핵이 선 뒤 빠르게 할 과녁이다. 4단계(패턴 모으기)로 메시지의 행이 중첩을 받고, 키별 문서가 키 있는 리스트에 녹고, 커서와 인덱스가 앵커 하나가 되고, 키·text·타이머·프레임·가리킴이 묶인 메시지가 되고, 보기가 아무 값(리스트 보기: 상태 그대로, 걸러짐, 지도, 본문이 지은 리스트; 바이트)이 되고, 고정 한도가 형식과 리스트 엔진의 너비만 남았다: 명령 106 → 95, 상태 종류 7 → 6, 입력 종류 6 → 3, 그동안 다섯 일의 명령 수와 은행 질의는 걸음마다 1% 안, TPC-C는 3단계 끝과 같다(+0.37%) | [026](docs/design/026-app-contract.md), [027](docs/design/027-computation-core.md), [140](docs/research/140-spec-suite.md) | +| 방향(1.0 전) | 앱 계약을 1.0에서 얼릴 후보로 적었다: 이벤트는 전함수이고 원자적이며 결정적이다, 시간은 입력이다, 보기는 커밋된 상태의 순수 함수다, 보이는 역사는 커밋의 앞부분이다, 전달은 순서대로 한 번이다. 계산의 언어(명령 90개, 상태 종류 7개)는 패턴의 모음이라 다시 세운다. 분야마다 고른 명세 열한 개의 묶음에서 오늘의 aup는 바이트, 비트 연산, 중첩, 재귀, 갈래, 글자 읽기에 막힌다(탐침 열 개). 1.0 전에는 호환을 챙기지 않고, JSON과 HTTP는 경계에 남는다. 계산의 핵을 다섯 단계로 다시 세운다(027). 1단계(비트 연산, 자리의 바이트, 수의 리스트, 한 번에 주기)로 aup로 쓴 SHA-256이 공식 벡터를 세 실행 길에서 모두 지난다. 2a(형식 지정, 바이트 잇기와 자르기, 바이트와 text의 let, `while`, 단락 평가의 `&&`·`||`)로 쓴 JSON 검사기가 JSONTestSuite에서 하나도 틀리지 않는다. 2b(레코드 안의 레코드, 갈래와 `match`, 레코드 안의 리스트, 수 읽기)로 JSON을 트리로 읽어 다이제스트가 파이썬과 같다(JSONTestSuite, 무작위 문서 300개). 2c(스스로 부르는 함수: 부름마다 제 스택·지역 칸·리스트·레지스터·담은 값, 깊이는 표로 센 프레임 바이트가 몫에서 묶음; 값으로서의 레코드; 글자 읽기)로 JSON 트리를 재귀 하강으로 다시 써 JSONTestSuite와 무작위 문서 300개가 파이썬과 같고, 10만 겹은 `memory`로 거절한다. 반복 아래에 값을 둔 모듈이 검증을 지나 실행기를 죽이던 구멍도 찾아 막았다. 3단계(중첩한 저장 상태: 저장과 transient의 리스트가 리스트를 담은 레코드를 받고, 그 칸은 값을 항목들의 저장 형태로 바이트처럼 담아 이미지·로그·되돌리기·회복이 그대로다)로 열 → 카드 → 태그의 보드가 메모리 앱과 여덟 번 재시작하는 저장 앱에서 매 걸음 같고(스냅숏 2,400개), 커밋의 여섯 단계 어디서 죽여도 전부 아니면 없음이며, 교체는 이름으로 깊이까지 옮긴다. 중첩 리스트를 바꾸는 비용은 그 값의 크기에 비례한다(이미 있는 항목 하나에 170 ns). 줄 수는 검사기만 파이썬 이하이고(80 대 90), SHA-256(42 대 28)과 트리(142 대 105)는 길다. 시간은 C의 40–159배이고 바이트를 다루는 일은 순수 파이썬과 비슷하거나 느리다(0.43–1.6배): 핵이 선 뒤 빠르게 할 과녁이다. 4단계(패턴 모으기)로 메시지의 행이 중첩을 받고, 키별 문서가 키 있는 리스트에 녹고, 커서와 인덱스가 앵커 하나가 되고, 키·text·타이머·프레임·가리킴이 묶인 메시지가 되고, 보기가 아무 값(리스트 보기: 상태 그대로, 걸러짐, 지도, 본문이 지은 리스트; 바이트)이 되고, 고정 한도가 형식과 리스트 엔진의 너비만 남았다: 명령 106 → 95, 상태 종류 7 → 6, 입력 종류 6 → 3, 그동안 다섯 일의 명령 수와 은행 질의는 걸음마다 1% 안, TPC-C는 3단계 끝과 같다(+0.37%). 5단계(수의 모델: number는 binary64로 리터럴과 셈의 기본, i64는 정확한 정수·비트·돈, `/`와 내림한 몫 `//`, i64의 합은 정확하게, 돈은 i64의 센트로 `.2d`에 보이고, 교체는 정확할 때만 옮긴다)로 TPC-C의 돈과 비율이 Pure와 SQLite 모두에서 정수가 되어, 2만 트랜잭션 뒤 모든 행이 오차 없이 같다: 명령 95 → 96, 다섯 일의 명령 수와 은행 질의는 4단계 끝과 1% 안, TPC-C는 런타임이 같고(−0.03%) i64의 돈으로 앱이 2.6% 빠르다. 027의 다섯 단계를 마쳤다 | [026](docs/design/026-app-contract.md), [027](docs/design/027-computation-core.md), [140](docs/research/140-spec-suite.md) | 키로 나눈 소유자와 저장을 넘길 스레드는 하지 않기로 했다. 이 장치는 동기화를 한 줄로 세워, 나누면 쓰기가 23% 줄고 넘겨도 기기의 일은 줄지 않는다([084](docs/research/084-parallel-syncs.md)). 다만 동기화가 공짜인 RAM에서 TPC-C는 소유자 하나가 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가 묶음의 명세 대부분을 연다. 가장 값이 크다. diff --git a/research/experiments/040-against-c/2026-10-19-counts-stage5.jsonl b/research/experiments/040-against-c/2026-10-19-counts-stage5.jsonl new file mode 100644 index 0000000..5193fe4 --- /dev/null +++ b/research/experiments/040-against-c/2026-10-19-counts-stage5.jsonl @@ -0,0 +1,12 @@ +{"serve": "pure-serve", "per_branch": {"instructions": 27100787, "cycles": 12078677}, "in_credit": {"instructions": 3509044, "cycles": 1730998}, "large": {"instructions": 1412782, "cycles": 610246}, "ranks": {"instructions": 24445098, "cycles": 15101508}, "none": {"instructions": 617346, "cycles": 239505}, "field": {"instructions": 8917574, "cycles": 3218423}, "found": {"instructions": 14069207, "cycles": 11630785}} +{"serve": "pure-serve", "per_branch": {"instructions": 26927954, "cycles": 11936683}, "in_credit": {"instructions": 3524942, "cycles": 1641705}, "large": {"instructions": 1412822, "cycles": 623123}, "ranks": {"instructions": 24484759, "cycles": 15486937}, "none": {"instructions": 617346, "cycles": 201038}, "field": {"instructions": 8917574, "cycles": 3155813}, "found": {"instructions": 14068735, "cycles": 10609044}} +{"serve": "pure-serve", "per_branch": {"instructions": 27225659, "cycles": 11804093}, "in_credit": {"instructions": 3537043, "cycles": 1628040}, "large": {"instructions": 1412838, "cycles": 594263}, "ranks": {"instructions": 24515010, "cycles": 14825698}, "none": {"instructions": 617346, "cycles": 189988}, "field": {"instructions": 8917574, "cycles": 3097174}, "found": {"instructions": 14069887, "cycles": 10586980}} +{"serve": "pure-serve", "per_branch": {"instructions": 26904330, "cycles": 11424143}, "in_credit": {"instructions": 3519618, "cycles": 1597523}, "large": {"instructions": 1412822, "cycles": 605650}, "ranks": {"instructions": 24471448, "cycles": 14921404}, "none": {"instructions": 617346, "cycles": 198970}, "field": {"instructions": 8917575, "cycles": 3109284}, "found": {"instructions": 14070038, "cycles": 10600601}} +{"serve": "pure-serve", "per_branch": {"instructions": 27142081, "cycles": 11789005}, "in_credit": {"instructions": 3518313, "cycles": 1700496}, "large": {"instructions": 1412838, "cycles": 593877}, "ranks": {"instructions": 24468325, "cycles": 15001553}, "none": {"instructions": 617346, "cycles": 193736}, "field": {"instructions": 8917574, "cycles": 3111138}, "found": {"instructions": 14070350, "cycles": 10381487}} +{"serve": "pure-serve", "per_branch": {"instructions": 26827856, "cycles": 11855538}, "in_credit": {"instructions": 3502459, "cycles": 1563121}, "large": {"instructions": 1412886, "cycles": 607256}, "ranks": {"instructions": 24429409, "cycles": 14854294}, "none": {"instructions": 617346, "cycles": 191108}, "field": {"instructions": 8917574, "cycles": 3086753}, "found": {"instructions": 14071623, "cycles": 10555527}} +{"serve": "pure-serve", "per_branch": {"instructions": 27119437, "cycles": 11795269}, "in_credit": {"instructions": 3513207, "cycles": 1614873}, "large": {"instructions": 1412862, "cycles": 606819}, "ranks": {"instructions": 24455609, "cycles": 14994664}, "none": {"instructions": 617346, "cycles": 192403}, "field": {"instructions": 8917574, "cycles": 3101545}, "found": {"instructions": 14071239, "cycles": 10636558}} +{"serve": "pure-serve", "per_branch": {"instructions": 27047653, "cycles": 11911170}, "in_credit": {"instructions": 3551828, "cycles": 1603215}, "large": {"instructions": 1412790, "cycles": 591196}, "ranks": {"instructions": 24550720, "cycles": 14994397}, "none": {"instructions": 617449, "cycles": 212745}, "field": {"instructions": 8917574, "cycles": 3094536}, "found": {"instructions": 14068407, "cycles": 11009208}} +{"serve": "pure-serve", "per_branch": {"instructions": 27198916, "cycles": 11890901}, "in_credit": {"instructions": 3530942, "cycles": 1661503}, "large": {"instructions": 1412846, "cycles": 590873}, "ranks": {"instructions": 24499368, "cycles": 16399346}, "none": {"instructions": 617346, "cycles": 241267}, "field": {"instructions": 8917574, "cycles": 3172709}, "found": {"instructions": 14069870, "cycles": 10576667}} +{"serve": "pure-serve", "per_branch": {"instructions": 27120699, "cycles": 12060587}, "in_credit": {"instructions": 3568211, "cycles": 1667568}, "large": {"instructions": 1412846, "cycles": 599340}, "ranks": {"instructions": 24590797, "cycles": 15036676}, "none": {"instructions": 617346, "cycles": 192952}, "field": {"instructions": 8917677, "cycles": 3093489}, "found": {"instructions": 14068431, "cycles": 10423696}} +{"serve": "pure-serve", "per_branch": {"instructions": 26946693, "cycles": 11570874}, "in_credit": {"instructions": 3474461, "cycles": 1610663}, "large": {"instructions": 1412878, "cycles": 594135}, "ranks": {"instructions": 24360439, "cycles": 14829633}, "none": {"instructions": 617346, "cycles": 190642}, "field": {"instructions": 8917574, "cycles": 3101544}, "found": {"instructions": 14071214, "cycles": 10566273}} +{"serve": "pure-serve", "per_branch": {"instructions": 27020997, "cycles": 11812099}, "in_credit": {"instructions": 3545827, "cycles": 1616929}, "large": {"instructions": 1412838, "cycles": 595128}, "ranks": {"instructions": 24535093, "cycles": 14923802}, "none": {"instructions": 617346, "cycles": 201770}, "field": {"instructions": 8917574, "cycles": 3132011}, "found": {"instructions": 14067566, "cycles": 10919200}} diff --git a/research/experiments/040-against-c/2026-10-19-tpcc-stage5-s42-float-1.jsonl b/research/experiments/040-against-c/2026-10-19-tpcc-stage5-s42-float-1.jsonl new file mode 100644 index 0000000..6cb95a6 --- /dev/null +++ b/research/experiments/040-against-c/2026-10-19-tpcc-stage5-s42-float-1.jsonl @@ -0,0 +1,3 @@ +{"step": "load", "directory": "/dev/shm", "warehouses": 1, "rows": 568758, "generate_s": 0.58, "pure_load_s": 0.64, "sqlite_load_s": 1.57, "sqlite_page_size": 4096, "pure_resident_mib": 40.4, "sqlite_file_mib": 13.8} +{"step": "run", "system": "pure", "warehouses": 1, "terminals": 64, "transactions_per_second": 44901, "new_orders_per_minute": 1201117, "undone_new_orders": 3868, "errors": 0, "new_order": {"done": 404246, "failed": 0, "p50_us": 1408, "p99_us": 3968}, "payment": {"done": 386077, "failed": 0, "p50_us": 1344, "p99_us": 3840}, "order_status": {"done": 35997, "failed": 0, "p50_us": 256, "p99_us": 1408}, "delivery": {"done": 35943, "failed": 0, "p50_us": 1344, "p99_us": 3840}, "stock_level": {"done": 35779, "failed": 0, "p50_us": 288, "p99_us": 1536}, "server_threads": "3", "cpu_us_per_transaction": 42.3, "core_shares": {"pure-owner": 0.87, "pure-checkpoint": 0.01}, "resident_mib": 472.3, "written_bytes_per_transaction": 0.0, "device_bytes_per_transaction": null, "consistency_failures": []} +{"step": "end", "pure_resident_mib": 472.3, "pure_state_mib": 238.5, "pure_store_mib": 246.7, "sqlite_files_mib": 13.8, "grouped_sqlite_files_mib": 0.0, "pure_counts": {"bursts": 27908, "burst_events": 822483, "checkpoints": 40}} diff --git a/research/experiments/040-against-c/2026-10-19-tpcc-stage5-s42-float-2.jsonl b/research/experiments/040-against-c/2026-10-19-tpcc-stage5-s42-float-2.jsonl new file mode 100644 index 0000000..b9970a3 --- /dev/null +++ b/research/experiments/040-against-c/2026-10-19-tpcc-stage5-s42-float-2.jsonl @@ -0,0 +1,3 @@ +{"step": "load", "directory": "/dev/shm", "warehouses": 1, "rows": 568758, "generate_s": 0.58, "pure_load_s": 0.64, "sqlite_load_s": 1.68, "sqlite_page_size": 4096, "pure_resident_mib": 40.4, "sqlite_file_mib": 13.8} +{"step": "run", "system": "pure", "warehouses": 1, "terminals": 64, "transactions_per_second": 46117, "new_orders_per_minute": 1233738, "undone_new_orders": 3973, "errors": 0, "new_order": {"done": 415219, "failed": 0, "p50_us": 1344, "p99_us": 3584}, "payment": {"done": 396484, "failed": 0, "p50_us": 1344, "p99_us": 3584}, "order_status": {"done": 36990, "failed": 0, "p50_us": 256, "p99_us": 1344}, "delivery": {"done": 36913, "failed": 0, "p50_us": 1344, "p99_us": 3584}, "stock_level": {"done": 36736, "failed": 0, "p50_us": 288, "p99_us": 1408}, "server_threads": "3", "cpu_us_per_transaction": 41.8, "core_shares": {"pure-owner": 0.89, "pure-checkpoint": 0.01}, "resident_mib": 483.1, "written_bytes_per_transaction": 0.0, "device_bytes_per_transaction": null, "consistency_failures": []} +{"step": "end", "pure_resident_mib": 483.1, "pure_state_mib": 244.3, "pure_store_mib": 254.7, "sqlite_files_mib": 13.8, "grouped_sqlite_files_mib": 0.0, "pure_counts": {"bursts": 28680, "burst_events": 844725, "checkpoints": 41}} diff --git a/research/experiments/040-against-c/2026-10-19-tpcc-stage5-s42-float-3.jsonl b/research/experiments/040-against-c/2026-10-19-tpcc-stage5-s42-float-3.jsonl new file mode 100644 index 0000000..15b9259 --- /dev/null +++ b/research/experiments/040-against-c/2026-10-19-tpcc-stage5-s42-float-3.jsonl @@ -0,0 +1,3 @@ +{"step": "load", "directory": "/dev/shm", "warehouses": 1, "rows": 568758, "generate_s": 0.56, "pure_load_s": 0.64, "sqlite_load_s": 1.56, "sqlite_page_size": 4096, "pure_resident_mib": 40.4, "sqlite_file_mib": 13.8} +{"step": "run", "system": "pure", "warehouses": 1, "terminals": 64, "transactions_per_second": 46092, "new_orders_per_minute": 1232977, "undone_new_orders": 3947, "errors": 0, "new_order": {"done": 414944, "failed": 0, "p50_us": 1344, "p99_us": 3584}, "payment": {"done": 396246, "failed": 0, "p50_us": 1344, "p99_us": 3584}, "order_status": {"done": 36979, "failed": 0, "p50_us": 256, "p99_us": 1216}, "delivery": {"done": 36922, "failed": 0, "p50_us": 1344, "p99_us": 3456}, "stock_level": {"done": 36753, "failed": 0, "p50_us": 288, "p99_us": 1280}, "server_threads": "3", "cpu_us_per_transaction": 42.6, "core_shares": {"pure-owner": 0.89, "pure-checkpoint": 0.01}, "resident_mib": 482.7, "written_bytes_per_transaction": 0.0, "device_bytes_per_transaction": null, "consistency_failures": []} +{"step": "end", "pure_resident_mib": 482.7, "pure_state_mib": 244.2, "pure_store_mib": 254.7, "sqlite_files_mib": 13.8, "grouped_sqlite_files_mib": 0.0, "pure_counts": {"bursts": 28493, "burst_events": 844250, "checkpoints": 41}} diff --git a/research/experiments/040-against-c/2026-10-19-tpcc-stage5-s42-i64-1.jsonl b/research/experiments/040-against-c/2026-10-19-tpcc-stage5-s42-i64-1.jsonl new file mode 100644 index 0000000..e71bc8f --- /dev/null +++ b/research/experiments/040-against-c/2026-10-19-tpcc-stage5-s42-i64-1.jsonl @@ -0,0 +1,3 @@ +{"step": "load", "directory": "/dev/shm", "warehouses": 1, "rows": 569096, "generate_s": 0.55, "pure_load_s": 0.69, "sqlite_load_s": 1.55, "sqlite_page_size": 4096, "pure_resident_mib": 40.2, "sqlite_file_mib": 12.6} +{"step": "run", "system": "pure", "warehouses": 1, "terminals": 64, "transactions_per_second": 46905, "new_orders_per_minute": 1254704, "undone_new_orders": 4042, "errors": 0, "new_order": {"done": 422277, "failed": 0, "p50_us": 1344, "p99_us": 3584}, "payment": {"done": 403272, "failed": 0, "p50_us": 1344, "p99_us": 3584}, "order_status": {"done": 37613, "failed": 0, "p50_us": 200, "p99_us": 1024}, "delivery": {"done": 37545, "failed": 0, "p50_us": 1344, "p99_us": 3456}, "stock_level": {"done": 37399, "failed": 0, "p50_us": 272, "p99_us": 1216}, "server_threads": "3", "cpu_us_per_transaction": 39.6, "core_shares": {"pure-owner": 0.89, "pure-checkpoint": 0.01}, "resident_mib": 489.9, "written_bytes_per_transaction": 0.0, "device_bytes_per_transaction": null, "consistency_failures": []} +{"step": "end", "pure_resident_mib": 489.9, "pure_state_mib": 248.1, "pure_store_mib": 222.7, "sqlite_files_mib": 12.6, "grouped_sqlite_files_mib": 0.0, "pure_counts": {"bursts": 28624, "burst_events": 859138, "checkpoints": 37}} diff --git a/research/experiments/040-against-c/2026-10-19-tpcc-stage5-s42-i64-2.jsonl b/research/experiments/040-against-c/2026-10-19-tpcc-stage5-s42-i64-2.jsonl new file mode 100644 index 0000000..1305c06 --- /dev/null +++ b/research/experiments/040-against-c/2026-10-19-tpcc-stage5-s42-i64-2.jsonl @@ -0,0 +1,3 @@ +{"step": "load", "directory": "/dev/shm", "warehouses": 1, "rows": 569096, "generate_s": 0.55, "pure_load_s": 0.67, "sqlite_load_s": 1.58, "sqlite_page_size": 4096, "pure_resident_mib": 40.2, "sqlite_file_mib": 12.6} +{"step": "run", "system": "pure", "warehouses": 1, "terminals": 64, "transactions_per_second": 47303, "new_orders_per_minute": 1265469, "undone_new_orders": 4075, "errors": 0, "new_order": {"done": 425898, "failed": 0, "p50_us": 1344, "p99_us": 3328}, "payment": {"done": 406671, "failed": 0, "p50_us": 1344, "p99_us": 3328}, "order_status": {"done": 37952, "failed": 0, "p50_us": 192, "p99_us": 896}, "delivery": {"done": 37845, "failed": 0, "p50_us": 1344, "p99_us": 3328}, "stock_level": {"done": 37697, "failed": 0, "p50_us": 272, "p99_us": 1024}, "server_threads": "3", "cpu_us_per_transaction": 39.9, "core_shares": {"pure-owner": 0.9, "pure-checkpoint": 0.01}, "resident_mib": 493.5, "written_bytes_per_transaction": 0.0, "device_bytes_per_transaction": null, "consistency_failures": []} +{"step": "end", "pure_resident_mib": 493.5, "pure_state_mib": 250.1, "pure_store_mib": 222.7, "sqlite_files_mib": 12.6, "grouped_sqlite_files_mib": 0.0, "pure_counts": {"bursts": 28730, "burst_events": 866424, "checkpoints": 37}} diff --git a/research/experiments/040-against-c/2026-10-19-tpcc-stage5-s42-i64-3.jsonl b/research/experiments/040-against-c/2026-10-19-tpcc-stage5-s42-i64-3.jsonl new file mode 100644 index 0000000..1272c55 --- /dev/null +++ b/research/experiments/040-against-c/2026-10-19-tpcc-stage5-s42-i64-3.jsonl @@ -0,0 +1,3 @@ +{"step": "load", "directory": "/dev/shm", "warehouses": 1, "rows": 569096, "generate_s": 0.55, "pure_load_s": 0.67, "sqlite_load_s": 1.58, "sqlite_page_size": 4096, "pure_resident_mib": 40.2, "sqlite_file_mib": 12.6} +{"step": "run", "system": "pure", "warehouses": 1, "terminals": 64, "transactions_per_second": 47313, "new_orders_per_minute": 1265668, "undone_new_orders": 4069, "errors": 0, "new_order": {"done": 425959, "failed": 0, "p50_us": 1344, "p99_us": 3456}, "payment": {"done": 406748, "failed": 0, "p50_us": 1344, "p99_us": 3328}, "order_status": {"done": 37975, "failed": 0, "p50_us": 200, "p99_us": 1024}, "delivery": {"done": 37866, "failed": 0, "p50_us": 1344, "p99_us": 3328}, "stock_level": {"done": 37706, "failed": 0, "p50_us": 272, "p99_us": 1152}, "server_threads": "3", "cpu_us_per_transaction": 39.8, "core_shares": {"pure-owner": 0.9, "pure-checkpoint": 0.01}, "resident_mib": 493.8, "written_bytes_per_transaction": 0.0, "device_bytes_per_transaction": null, "consistency_failures": []} +{"step": "end", "pure_resident_mib": 493.8, "pure_state_mib": 250.1, "pure_store_mib": 222.7, "sqlite_files_mib": 12.6, "grouped_sqlite_files_mib": 0.0, "pure_counts": {"bursts": 29016, "burst_events": 866585, "checkpoints": 37}} diff --git a/research/experiments/040-against-c/2026-10-19-tpcc-stage5-s45-i64-1.jsonl b/research/experiments/040-against-c/2026-10-19-tpcc-stage5-s45-i64-1.jsonl new file mode 100644 index 0000000..95e4099 --- /dev/null +++ b/research/experiments/040-against-c/2026-10-19-tpcc-stage5-s45-i64-1.jsonl @@ -0,0 +1,3 @@ +{"step": "load", "directory": "/dev/shm", "warehouses": 1, "rows": 569096, "generate_s": 0.55, "pure_load_s": 0.69, "sqlite_load_s": 1.54, "sqlite_page_size": 4096, "pure_resident_mib": 40.2, "sqlite_file_mib": 12.6} +{"step": "run", "system": "pure", "warehouses": 1, "terminals": 64, "transactions_per_second": 47054, "new_orders_per_minute": 1258603, "undone_new_orders": 4051, "errors": 0, "new_order": {"done": 423586, "failed": 0, "p50_us": 1344, "p99_us": 3456}, "payment": {"done": 404526, "failed": 0, "p50_us": 1344, "p99_us": 3456}, "order_status": {"done": 37764, "failed": 0, "p50_us": 200, "p99_us": 992}, "delivery": {"done": 37675, "failed": 0, "p50_us": 1344, "p99_us": 3328}, "stock_level": {"done": 37526, "failed": 0, "p50_us": 272, "p99_us": 1280}, "server_threads": "3", "cpu_us_per_transaction": 39.8, "core_shares": {"pure-owner": 0.89, "pure-checkpoint": 0.01}, "resident_mib": 491.2, "written_bytes_per_transaction": 0.0, "device_bytes_per_transaction": null, "consistency_failures": []} +{"step": "end", "pure_resident_mib": 491.2, "pure_state_mib": 248.8, "pure_store_mib": 222.7, "sqlite_files_mib": 12.6, "grouped_sqlite_files_mib": 0.0, "pure_counts": {"bursts": 28694, "burst_events": 861815, "checkpoints": 37}} diff --git a/research/experiments/040-against-c/2026-10-19-tpcc-stage5-s45-i64-2.jsonl b/research/experiments/040-against-c/2026-10-19-tpcc-stage5-s45-i64-2.jsonl new file mode 100644 index 0000000..c8d6fcd --- /dev/null +++ b/research/experiments/040-against-c/2026-10-19-tpcc-stage5-s45-i64-2.jsonl @@ -0,0 +1,3 @@ +{"step": "load", "directory": "/dev/shm", "warehouses": 1, "rows": 569096, "generate_s": 0.55, "pure_load_s": 0.67, "sqlite_load_s": 1.55, "sqlite_page_size": 4096, "pure_resident_mib": 40.2, "sqlite_file_mib": 12.6} +{"step": "run", "system": "pure", "warehouses": 1, "terminals": 64, "transactions_per_second": 47459, "new_orders_per_minute": 1269415, "undone_new_orders": 4084, "errors": 0, "new_order": {"done": 427225, "failed": 0, "p50_us": 1344, "p99_us": 3456}, "payment": {"done": 408039, "failed": 0, "p50_us": 1344, "p99_us": 3328}, "order_status": {"done": 38083, "failed": 0, "p50_us": 192, "p99_us": 928}, "delivery": {"done": 38006, "failed": 0, "p50_us": 1344, "p99_us": 3456}, "stock_level": {"done": 37832, "failed": 0, "p50_us": 272, "p99_us": 1152}, "server_threads": "3", "cpu_us_per_transaction": 39.3, "core_shares": {"pure-owner": 0.9, "pure-checkpoint": 0.01}, "resident_mib": 494.9, "written_bytes_per_transaction": 0.0, "device_bytes_per_transaction": null, "consistency_failures": []} +{"step": "end", "pure_resident_mib": 494.9, "pure_state_mib": 250.8, "pure_store_mib": 222.7, "sqlite_files_mib": 12.6, "grouped_sqlite_files_mib": 0.0, "pure_counts": {"bursts": 28942, "burst_events": 869264, "checkpoints": 37}} diff --git a/research/experiments/040-against-c/2026-10-19-tpcc-stage5-s45-i64-3.jsonl b/research/experiments/040-against-c/2026-10-19-tpcc-stage5-s45-i64-3.jsonl new file mode 100644 index 0000000..763b561 --- /dev/null +++ b/research/experiments/040-against-c/2026-10-19-tpcc-stage5-s45-i64-3.jsonl @@ -0,0 +1,3 @@ +{"step": "load", "directory": "/dev/shm", "warehouses": 1, "rows": 569096, "generate_s": 0.56, "pure_load_s": 0.67, "sqlite_load_s": 1.58, "sqlite_page_size": 4096, "pure_resident_mib": 40.2, "sqlite_file_mib": 12.6} +{"step": "run", "system": "pure", "warehouses": 1, "terminals": 64, "transactions_per_second": 47287, "new_orders_per_minute": 1265056, "undone_new_orders": 4078, "errors": 0, "new_order": {"done": 425764, "failed": 0, "p50_us": 1344, "p99_us": 3328}, "payment": {"done": 406541, "failed": 0, "p50_us": 1344, "p99_us": 3328}, "order_status": {"done": 37896, "failed": 0, "p50_us": 192, "p99_us": 960}, "delivery": {"done": 37850, "failed": 0, "p50_us": 1344, "p99_us": 3456}, "stock_level": {"done": 37698, "failed": 0, "p50_us": 272, "p99_us": 1152}, "server_threads": "3", "cpu_us_per_transaction": 39.6, "core_shares": {"pure-owner": 0.9, "pure-checkpoint": 0.01}, "resident_mib": 493.3, "written_bytes_per_transaction": 0.0, "device_bytes_per_transaction": null, "consistency_failures": []} +{"step": "end", "pure_resident_mib": 493.3, "pure_state_mib": 250.0, "pure_store_mib": 222.7, "sqlite_files_mib": 12.6, "grouped_sqlite_files_mib": 0.0, "pure_counts": {"bursts": 28656, "burst_events": 866159, "checkpoints": 37}} -- cgit v1.2.3