Skip to content

SYSTEM Cited by 1 source

quic-go

What it is

quic-go is a Go implementation of the QUIC transport protocol + HTTP/3. Used client-side in PlanetScale's experimental HTTP/3 Go database driver benchmark (Source: sources/2026-04-21-planetscale-faster-mysql-with-http3).

Why it shows up on this wiki

Canonical wiki datum on the implementation-maturity dependency of HTTP/3's latency wins. Robenolt's benchmark finds HTTP/3 via quic-go is slower than HTTP/2 via Go's stdlib on low-latency networks with large payloads — and attributes this to quic-go's relative immaturity, not the QUIC protocol itself: "I haven't dug into this, but my hypothesis is that this is a performance limitation in the underlying quic-go implementation due to it being a bit more immature and less battle-tested. At these larger payloads, we might be beginning to stress the underlying QUIC implementation as well as the underlying mysqld and hardware."

Load-bearing wiki datum: HTTP/3's benefit floor depends on the specific QUIC library used. Mature TCP-based HTTP/2 libraries (e.g. Go's stdlib) have decades of tuning and production hardening; early QUIC libraries are still catching up on buffer management, kernel-UDP-socket handling, and large-payload path optimisation.

Architectural properties

  • UDP-based reliable transport — runs over net.ListenUDP rather than net.ListenTCP; requires no kernel TCP tuning but exposes Linux UDP socket buffer sizing and kernel GRO/GSO offload as tuning surfaces.
  • TLS 1.3 integrated — QUIC requires TLS 1.3; quic-go supports 0-RTT handshake resumption.
  • HTTP/3 implementation bundled — the library provides both the QUIC transport and an HTTP/3 client/server built on it.
  • Experimental at the time of the 2023-01-04 PlanetScale post — the library has since been widely adopted but was still characterised as "experimental" in the source.

Stub

Minimum viable page. Expand with wiki-pages' first-hand benchmarks / tuning / incident retrospectives as they're ingested.

Seen in

Last updated · 347 distilled / 1,201 read