←back to thread

306 points carlos-menezes | 1 comments | | HN request time: 0.203s | source
Show context
austin-cheney ◴[] No.41891263[source]
EDITED.

I preference WebSockets over anything analogous to HTTP.

Commented edited because I mentioned performance conditions. Software developers tend to make unfounded assumptions/rebuttals of performance conditions they have not tested.

replies(6): >>41891324 #>>41891333 #>>41891426 #>>41891517 #>>41891549 #>>41891575 #
Aurornis ◴[] No.41891426[source]
> QUIC is faster than prior versions of HTTP, but its still HTTP. It will never be fast enough because its still HTTP: > * String headers > * round trips > * many sockets, there is additional overhead to socket creation, especially over TLS

QUIC is a transport. HTTP can run on top of QUIC, but the way you’re equating QUIC and HTTP doesn’t make sense.

String headers and socket opening have nothing to do with the performance issues being discussed.

String headers aren’t even a performance issue at all. The amount of processing done for when the most excessive use of string headers is completely trivial relative to all of the other processing that goes into sending 1,000,000,000 bits per second (Gigabit) over the internet, which is the order of magnitude target being discussed.

I don’t think you understand what QUIC is or even the prior art in HTTP/2 that precedes these discussions of QUIC and HTTP/3.

replies(1): >>41891484 #
austin-cheney ◴[] No.41891484[source]
> String headers aren’t even a performance issue at all.

That is universally incorrect. String instructions require parsing as strings are for humans and binary is for machines. There is performance overhead to string parsing always, and it is relatively trivial to perf. I have performance tested this in my own WebSocket and test automation applications. That performance difference scales in logarithmic fashion provided the quantity of messages to send/receive. I encourage you to run your own tests.

replies(1): >>41891710 #
1. jiggawatts ◴[] No.41891710[source]
Both HTTP/2 and HTTP/3 use binary protocol encoding and compressed (binary) headers. You're arguing a straw man that has little to do with reality.