aboutsummaryrefslogtreecommitdiffstats
path: root/benchmarks/http/axum-baseline/Cargo.toml
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/axum-baseline/Cargo.toml
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/axum-baseline/Cargo.toml')
-rw-r--r--benchmarks/http/axum-baseline/Cargo.toml17
1 files changed, 17 insertions, 0 deletions
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"