Remix.run Logo
▲ donatj 6 hours ago

> Using HTTP/1 (GODEBUG=http2client=0), calling this function 100 times against index.golang.org takes ~710 milliseconds on Go 1.26 on my machine. On Go 1.27, the same program takes ~150 milliseconds.

Does this mean I need to disable http2 for this to work or is that just a further proof that http2 isn't actually being used?

▲giovannibajo1 6 hours ago | parent | next [-]

As explained in the post, you don’t need any of this in HTTP/2, since you get the benefits of connection sharing without having to read the drain connection body by protocol design

▲MrDOS 6 hours ago | parent [-]

Right. Although the article demonstrates the changes by making requests of a public web server, I would imagine this change has been primarily motivated by a desire to reduce overhead and latency on internal communication between microservices, which very often uses unencrypted HTTP/1 traffic.

▲80fj0348i 6 hours ago | parent | prev [-]

HTTP/2 works differently, you can multiplex and prioritize different data over one TCP connection with HTTP/2. But 60-70% of the web is still HTTP/1 IIRC.