Skip to main content
r/cpp icon

r/cpp

members
online

aeronet v1.0.0 – a high-performance HTTP/1.1 & HTTP/2 C++ server for Linux aeronet v1.0.0 – a high-performance HTTP/1.1 & HTTP/2 C++ server for Linux

Hi r/cpp,

I’ve just released aeronet v1.0.0, a C++ HTTP server library for Linux focused on predictable performance, explicit control, and minimal abstractions.

GitHub: https://github.com/sjanel/aeronet

aeronet is an event-driven, epoll-based server using a single-threaded reactor model. The goal is to stay close to the metal while still offering a clean, ergonomic C++ API, with many ways to build the HTTP response and configure the routing.

Highlights:

  • HTTP/1.1, HTTP/2, WebSocket

  • Streaming requests / responses

  • Automatic compression / decompression

  • TLS, CORS, range & conditional requests, multipart/form-data, static files

  • Kubernetes-style health probes

  • OpenTelemetry (metrics + tracing), DogStatsD

I run wrk-based benchmarks in CI against several popular servers (C++ drogon / Pistache, Rust Axum, Java Undertow, Go, Python). The results and methodology are public and meant as indicative, not definitive.

I’d really appreciate feedback from experienced C++ developers — especially on API design, execution model, and missing features.

Thanks!


Simplify growth for your business with straightforward rewards.
Image Simplify growth for your business with straightforward rewards.



Is abandoning our Bazel migration the right call? Is abandoning our Bazel migration the right call?

We're 6 months into a Bazel migration and we realize it was the wrong call. Should we bail? Has anyone ever jumped ship mid migration?

Bazel itself isn't bad. The distributed caching and dependency isolation are solid. But I feel like most of the conversations online focus on build speed without mentions of the total cost of getting there and staying there. I keep hearing it takes a few weeks but that's if you've got a simple monorepo. We've got legacy projects, custom build rules, CI/CD integrations that have been fighting Bazel every step of the way. Six months in and we're still debugging incremental builds. Our devOps person alone has spent more hours on configuration than we spent on our entire previous build system and it's causing burnout on the team.

Keeping Bazel working across different platforms is complex. If something goes wrong, good luck finding answers because apparently we're part of a small club of companies stupid enough to bet everything on this. There's a limit to what complexity is worth. Has anyone dealt with this or found alternatives? What's your timeline and cost looking like? Are there ways you're getting most of the performance wins without fully committing to their ecosystem?