aboutsummaryrefslogtreecommitdiffstats
path: root/benchmarks/http/README.md
diff options
context:
space:
mode:
authoreunhhu <[email protected]>2026-09-26 05:29:44 +0100
committereunhhu <[email protected]>2026-09-26 05:29:48 +0100
commitf0bec42645aa845d1c1d71c6e18ac1521e808fcc (patch)
tree4d4309ae29de36a5a984c2e5ad4a0424549eb2a7 /benchmarks/http/README.md
parent3b89ae82ea9468d54c60a63fd03b9a829748a0ac (diff)
downloadpure-f0bec42645aa845d1c1d71c6e18ac1521e808fcc.tar.gz
pure-f0bec42645aa845d1c1d71c6e18ac1521e808fcc.zip
Benchmark the HTTP hosts against axum
A C load generator, an axum service with the same document contract (in memory, fdatasync, and crash-safe replacement), and a runner that pins the servers and the load to separate CPUs. On the Pi 5, Pure uses about 40% less memory, wins with a new connection per request and with eight durable writers (3.2x the crash-safe axum), but loses 5x on keep-alive reads and 1.5x on 64 durable writers: no persistent connections, one thread, eight connection slots and two fsyncs per commit. Note 075 records the numbers and the targets.
Diffstat (limited to 'benchmarks/http/README.md')
-rw-r--r--benchmarks/http/README.md12
1 files changed, 12 insertions, 0 deletions
diff --git a/benchmarks/http/README.md b/benchmarks/http/README.md
new file mode 100644
index 0000000..3fc5740
--- /dev/null
+++ b/benchmarks/http/README.md
@@ -0,0 +1,12 @@
+# HTTP 벤치마크
+
+Pure의 문서 서버들과 같은 계약의 axum 서비스를 같은 기기·코어 배정·부하 생성기로 잰다([075](../../docs/research/075-http-host-against-axum.md)).
+
+```sh
+cc -O2 -std=c17 -o load load.c
+(cd axum-baseline && cargo build --release)
+make -C ../../prototypes/connections build/pure-connections-module
+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 # 저장소를 둘 장치에서
+```