aboutsummaryrefslogtreecommitdiffstats
path: root/benchmarks/http/README.md
diff options
context:
space:
mode:
authoreunhhu <[email protected]>2026-10-18 19:30:16 +0100
committereunhhu <[email protected]>2026-10-18 19:30:16 +0100
commitb22b8c3f6c5378b47c36370225d7c41d4394bb7c (patch)
treed1a3cbf1b0e718f0acafa08ec6741761f08e5dd5 /benchmarks/http/README.md
parente8b3499289022c8729900a58ed218d961a85fec8 (diff)
downloadpure-b22b8c3f6c5378b47c36370225d7c41d4394bb7c.tar.gz
pure-b22b8c3f6c5378b47c36370225d7c41d4394bb7c.zip
Module format v7, 027's 4b-2: keyed documents gone, a keyed list of records holding bytes doing their work: no collections table, DOC, DOC_SIZE or REPLACE (106 opcodes now 103, those from LEN on moved up), keyed messages or a base revision (pure_app_message takes an input and a payload), no PureData document callbacks (a data host opens states and saves them together), no burst by document key; the header 38 bytes; pure-edit-module gone; pure-serve without /objects, ETag, If-Match and If-None-Match, 412 or an app a thread for a module of documents alone (one without states or outputs runs so); a hole closed: an instruction in no handler's, view's or function's block was never verified yet the load's later passes read its arguments (a damaged module read out of bounds once the header moved what the mutation test damaged), now blanked to CONST 0; checks moved: server_documents (DOCS_SOURCE, keyed byte documents with the app's revision, against a Python model, one and three connection threads, a restart) in place of the parity with editor.pure, pipelining and bursts through kill -9 on its inputs and views, the lent budget on a text view (lending a document's read is server_lent_views' already), clocks and tokens on it; message tests without a document host; the HTTP benchmark's document suite runs the earlier document server and the baselines alone; the count harness builds against either message API (runs.sh build: -DPURE_KEYED_MESSAGES before 4b); counts: b33 against b32 with batches within 0.002% but BFS -0.33%, without batches BFS +0.63%, knapsack +0.52%, join +0.38%; the bank's queries (s32 on a v6 module, s33 on v7) field +0.68%, found +0.44%, large +0.42%, the rest within 0.13%; 008 as v7, 027's 4b-2 as made and 4c designed
Diffstat (limited to 'benchmarks/http/README.md')
-rw-r--r--benchmarks/http/README.md13
1 files changed, 6 insertions, 7 deletions
diff --git a/benchmarks/http/README.md b/benchmarks/http/README.md
index cd37579..4c50958 100644
--- a/benchmarks/http/README.md
+++ b/benchmarks/http/README.md
@@ -1,16 +1,16 @@
# HTTP 벤치마크
-Pure의 문서 서버들과 같은 계약의 axum(Rust)·drogon(C++) 서비스를 같은 기기·코어 배정·부하 생성기로 잰다
-([075](../../docs/research/075-http-host-against-axum.md)).
+Pure의 문서 서버와 같은 계약의 axum(Rust)·drogon(C++) 서비스를 같은 기기·코어 배정·부하 생성기로 잰다
+([075](../../docs/research/075-http-host-against-axum.md)). 027의 4b부터 pure-serve에는 키별 문서가 없다(키 있는 리스트가
+담고, 입력과 보기로 내놓는다). 그래서 문서 묶음은 옛 문서 서버(`prototypes/connections`)와 기준선만 돌고, pure-serve는 앱
+묶음에서 잰다.
```sh
cc -O2 -std=c17 -o load load.c
(cd axum-baseline && cargo build --release)
drogon-baseline/build.sh # Debian의 drogon 패키지를 설치하지 않고 .deps에 풀어 빌드한다
-make -C ../.. build/pure-serve
make -C ../../prototypes/connections BUILD=build/tree STORE=store-tree.c build/tree/pure-connections
-aup build ../../../aup/examples/editor.aup -o editor.pmod
-python3 run.py --module editor.pmod --directory /var/tmp # 저장소를 둘 장치에서
+python3 run.py --directory /var/tmp # 저장소를 둘 장치에서
```
저장 보장 쓰기는 장치 상태가 같을 때만 비교된다. SD 카드는 동기 쓰기가 이어지면 느려지므로 실행 순서만으로
@@ -19,8 +19,7 @@ python3 run.py --module editor.pmod --directory /var/tmp # 저장소를 둘 �
중앙값이다.
```sh
-python3 run.py --module editor.pmod --workloads put --rounds 5 --seconds 3 \
- --only pure-serve,pure-serve-3,axum-durable,axum-atomic
+python3 run.py --workloads put --rounds 5 --seconds 3 --only pure-program,axum-durable,axum-atomic
```
앱 벤치마크([077](../../docs/research/077-apps-as-http-services.md))는 aup로 쓴 점수판(`scores.aup`)을 pure-serve가 보기와