From 7771461a93f993425f97d4e05c91e64d17179e60 Mon Sep 17 00:00:00 2001 From: eunhhu Date: Sat, 26 Sep 2026 05:40:20 +0100 Subject: Serve modules over persistent connections pure-serve replaces the module mode of server.c, which goes back to what it was. It keeps the document contract, the runtime core (a work slot per connection, the payload budget, core-owned ingress, borrowed PUT replies) and the group commits, and adds what server.c lacked: HTTP/1.1 persistent connections with in-order pipelining, an edge-triggered epoll owner thread, up to 1,024 connections allocated as they arrive and reused, one writev per answer, and documents opened through a store handle. On the Pi 5 with one thread it serves 106k small keep-alive reads per second (axum on three cores: 126k) at the same p99, 1,741 1 MiB reads (axum: 1,370), and 1,126 durable writes from 64 connections (crash-safe axum: 372), in 7.3 MiB against axum's 17-20 MiB. Note 075 has the table. --- benchmarks/http/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'benchmarks/http/README.md') diff --git a/benchmarks/http/README.md b/benchmarks/http/README.md index 3fc5740..3c6eb4f 100644 --- a/benchmarks/http/README.md +++ b/benchmarks/http/README.md @@ -5,7 +5,7 @@ Pure의 문서 서버들과 같은 계약의 axum 서비스를 같은 기기· ```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/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 # 저장소를 둘 장치에서 -- cgit v1.2.3