finds.dev← search

// the find

savsgio/atreugo

★ 1,302 · Go · Apache-2.0 · updated Jan 2025

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.

View on GitHub →

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →