Что такое direct send в каналах Go?

Senior
104 просмотров
AFK Offer AI

Когда горутина отправляет в канал и на recvq уже ждёт получатель, данные копируются напрямую в стек получателя через memmove, минуя буфер. Это оптимизация — экономим одну копию данных. Получатель размораживается и планируется на выполнение. Это одна из причин почему каналы быстрее чем кажется.

Следующий вопрос

Что такое GC assist и как он влияет на latency?