From 4ebd1cd9108b135c1216bc6ae17832b77dcacaf3 Mon Sep 17 00:00:00 2001 From: eunhhu Date: Sat, 26 Sep 2026 07:42:00 +0100 Subject: Compare the HTTP host with drogon and by CPU time A drogon 1.9 service with the axum baseline's contract joins the benchmark (memory, fdatasync and crash-safe modes, three IO threads), built from Debian's packages unpacked under .deps without installing them. drogon listens once per event loop, so the service picks a free port itself: with port 0 every loop got a port of its own and the load reached one. The load generator has one core and saturates near 150k answers a second, so the harness now also reports answers per second of server CPU time (all threads). Over three rotated rounds: small GETs 151.6k/s on three shards (drogon 145.3k, axum 120.9k) and 128k per CPU-second on one thread (drogon 65k, axum 62k); 1 MiB GETs 2,794/s (axum 1,372, drogon 708); crash-safe PUTs 5.1-5.8 times axum and 13-30 times drogon; peak RSS 5.0 MiB against 14.4 and 76.5 MiB. --workloads is now a regular expression. --- benchmarks/http/README.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'benchmarks/http/README.md') diff --git a/benchmarks/http/README.md b/benchmarks/http/README.md index e26174b..b253dad 100644 --- a/benchmarks/http/README.md +++ b/benchmarks/http/README.md @@ -1,10 +1,12 @@ # HTTP 벤치마크 -Pure의 문서 서버들과 같은 계약의 axum 서비스를 같은 기기·코어 배정·부하 생성기로 잰다([075](../../docs/research/075-http-host-against-axum.md)). +Pure의 문서 서버들과 같은 계약의 axum(Rust)·drogon(C++) 서비스를 같은 기기·코어 배정·부하 생성기로 잰다 +([075](../../docs/research/075-http-host-against-axum.md)). ```sh cc -O2 -std=c17 -o load load.c (cd axum-baseline && cargo build --release) +drogon-baseline/build.sh # Debian의 drogon 패키지를 설치하지 않고 .deps에 풀어 빌드한다 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 -- cgit v1.2.3