Answers are grounded in this paper and cite their sources.
Pilot benchmark measures efficiency of HTTP APIs across multiple programming languages on a Raspberry Pi 5, indicating optimal use cases.
Cloud-centric web benchmarks miss constraints that matter for self-hosted services on ARM64 single-board computers, especially idle RAM footprint and energy per request. We ran a pilot benchmark on one Raspberry Pi 5, measuring equivalent SQLite-backed CRUD APIs implemented in Go 1.26/net/http, Rust 1.95/Axum, Python 3.13/FastAPI+Granian, Node.js 24/Fastify, and .NET 10 Native AOT across N = 50 randomized runs per stack and endpoint, with a separate concurrency sweep and memory time-series collection. Rust achieved the highest weighted throughput-to-RAM ratio (310.25req/s/MB, 2.8×Go) because its weighted peak RSS was 7.36MB, while .NET, Node.js, Go, and Rust formed a raw-throughput cluster with overlapping bootstrap CIs (2,125–2,461req/s) and Python remained below that cluster at 969req/s. The concurrency sweep on GET /items/:id showed divergent scaling: .NET reached 26,209req/s at c = 240, Go and Rust plateaued near c = 120, Node.js saturated near 9,700req/s, and Python stayed below 2,300req/s; memory snapshots showed Rust holding a flat 7.8MB RSS while Node.js grew by 117MB without visible GC drops. For RAM-constrained self-hosted CRUD-over-SQLite deployments on this Pi 5 unit, the data support Rust as the most resource-efficient measured stack, .NET as the strongest high-concurrency stack, and Go as a practical option where ecosystem breadth matters; replication is needed before extending these findings to other devices or storage backends.
No takes yet. Share an insight, caveat, or question.
William Oliveira (2026) studied this question.
Synapse has enriched 8 closely related papers on similar clinical questions. Consider them for comparative context: