4 ms·
One of my favourite demos is https://http2.akamai.com/demo https://http2.akamai.com/demo
by snek 7y ago
One of my favourite demos is https://http2.akamai.com/demo https://http2.akamai.com/demo
- mathisonturing 7y agoHTTP/1.1 is constantly ahead when I run it on mobile connected to my Home WiFi. Edit: /2 is faster when on first load. When I refresh, /1.1 is almost always faster.
- EugeneOZ 7y agoios, Safari, wifi (59 mbps on fast.com): http/2 is 10 times faster on first load, 2-3 times on subsequent.
- codefined 7y agoWindows, Firefox, Ethernet (220mbps on fast.com): https/2 is ~0.1s (1.02s /2 vs 1.11s /1.1) faster on first load and ~0.2s faster on future loads. I'm tempted to say there are diminishing returns as your internet gets faster (latency is ~11ms atm).
- rumanator 7y ago> HTTP/1.1 is constantly ahead when I run it on mobile connected to my Home WiFi. In the test I've ran right now, HTTP/1.1 took around 3x the time it took HTTP/2 to finish, even after refreshes.
- bsdetector 7y agoIt paints a misleading picture. When this demo first came out, it didn't have the right reply header to enable pipelining in the browser. Now it does, but browsers have removed pipelining support. Pipelining is a part of HTTP/1.1. If you download a firefox from before they removed pipelining you can enable it and you'll see that there's essentially no advantage to HTTP/2 for this demo. This demo could measure connection establishment time and bandwidth, and simulate pipelines. But I think they don't actually want you to know that even a 6-connection 1-deep pipeline is just about as good as HTTP/2.
- re 7y agoIt's interesting to see the impact that having the developer tools open has on performance, and whether the network tab is being shown or not. While HTTP2 is generally faster for me, opening the developer tools makes both significantly slower, and seems to have a larger impact on HTTP2, usually making it slower than 1.1, in both Firefox and Chrome.
- londons_explore 7y agoDeveloper tools internally proxies every request. The proxy interface it uses is a custom devtools protocol, and can't handle every part of http - for example, at assumes all post request bodies are delivered in one go rather than streamed. It also uses the same single JavaScript thread to proxy the requests as is used for rendering the devtools UI, which can't be great for performance.
- gatestone 7y agoAs credited there on the page, this was the orginal: https://http2.golang.org/gophertiles https://http2.golang.org/gophertiles