From f0bec42645aa845d1c1d71c6e18ac1521e808fcc Mon Sep 17 00:00:00 2001 From: eunhhu Date: Sat, 26 Sep 2026 05:29:44 +0100 Subject: 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. --- benchmarks/http/axum-baseline/Cargo.toml | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 benchmarks/http/axum-baseline/Cargo.toml (limited to 'benchmarks/http/axum-baseline/Cargo.toml') diff --git a/benchmarks/http/axum-baseline/Cargo.toml b/benchmarks/http/axum-baseline/Cargo.toml new file mode 100644 index 0000000..1a26451 --- /dev/null +++ b/benchmarks/http/axum-baseline/Cargo.toml @@ -0,0 +1,17 @@ +[package] +name = "axum-baseline" +version = "0.1.0" +edition = "2021" +publish = false + +# A reference service for Pure's HTTP benchmarks: the same document contract +# as Pure's document server, written the way an axum service usually is. +[dependencies] +axum = "0.8" +tokio = { version = "1", features = ["rt-multi-thread", "macros", "net", "fs", "sync", "signal"] } +bytes = "1" + +[profile.release] +lto = "fat" +codegen-units = 1 +panic = "abort" -- cgit v1.2.3