// the find
savsgio/atreugo
High performance and extensible micro web framework. Zero memory allocations in hot paths.
Atreugo is a thin routing/middleware layer on top of fasthttp, aimed at Go developers who want more request throughput than net/http gives them and are willing to give up net/http's ecosystem compatibility to get it. It's a good fit for high-QPS internal APIs or proxies, not for general web apps that lean on the standard library's handler ecosystem.
All the speed and low-allocation behavior of fasthttp is exposed directly through RequestCtx, so you're not paying an abstraction tax on top of the underlying engine. Routing covers the practical cases well: optional path params, grouped routes with their own middleware, per-view timeouts, and static/file serving without reaching for a separate library. It also accepts both raw fasthttp handlers and net/http handlers, which makes incremental migration or reuse of existing net/http middleware possible instead of an all-or-nothing rewrite. Test coverage and CI (lint + test workflows, Go Report Card, Coveralls) are actually wired up, not just badges for show.
Documentation is a bare 'see docs/' pointer and a link to a separate atreugo/examples repo — there's no godoc-quality reference or inline examples in the main repo, so you're reading source to understand behavior. Anything built on fasthttp inherits its sharp edges: RequestCtx is pooled and reused per-connection, so holding a reference past the handler's lifetime (goroutines, channels) causes data races that are easy to introduce and hard to debug. The benchmark numbers on the README are an external chart from a third-party comparison repo, not something reproducible from this repo's own benchmark suite. Last push was January 2025 — for a framework whose whole pitch is performance, going quiet for well over a year means it may be lagging behind fasthttp itself or Go runtime changes.