Comment by hiAndrewQuinn
Comment by hiAndrewQuinn 2 days ago
Actually, when you put it like that, sending 'hello' back might be the best thing you could do. They sent you a SYN, you send back and ACK, then the real conversation can begin.
I suddenly no longer agree with TFA. This makes way more sense to me in this light.
Right, but the problem is that with async communication, you don't need a synchronous ack handshake.
Instead you can pipeline both messages: `[hello][are you coming to lunch with us?]`, and that's more convenient and efficient for the receiver and sender.
The problem that TFA is referring to is that context switching is very expensive for the receiver, so without pipelining, the receiver pays a huge cost just to send back the ack and then again to finally reply to the payload once it is sent. The receiver is asking that you send all messages; it prefers to buffer them.