Go 1.27 cuts HTTP/1 latency by 5x via connection reuse
Original: Better HTTP/1 connection reuse in Go 1.27
Why This Matters
Faster HTTP/1 connection reuse benefits any Go service making repeated outbound requests.
Go 1.27 improves HTTP/1 connection reuse, cutting 100-request benchmark time against index.golang.org from ~710ms to ~150ms—nearly 5x faster than Go 1.26, per the Go team's official blog post published October 14, 2026.
The Go team's Nicholas Husin and Damien Neil detailed the change in a blog post: a simple function calling http.Get 100 times over HTTP/1 now completes in ~150ms on Go 1.27, down from ~710ms on Go 1.26—no code changes required.
The root cause is connection setup cost. Each new HTTPS connection over HTTP/1 requires a TCP handshake (1 RTT) plus a TLS handshake (up to 2 RTT with TLS 1.2, or 1 RTT with TLS 1.3), before a single byte of HTTP traffic is sent. In cross-region setups where one-way latency hits 50ms, that means 300ms just to establish a connection—before any application logic runs.
Connection reuse sidesteps this cost by keeping TCP connections alive across multiple requests. The improvement in Go 1.27 focuses specifically on how the HTTP/1 client handles this reuse, making it more effective than in prior releases. The benchmark used index.golang.org, a globally distributed endpoint supporting TLS 1.3, where conditions were already favorable—making the 5x speedup even more striking.