Я хочу разработать высокопроизводительный протокол связи клиент-сервер через доменные сокеты Unix в Go. В частности, я думал об использовании операций Vector-IO (системные вызовы writev/readv), чтобы избежать накладных расходов на сериализацию структурированных данных. Однако я думаю, что Go не полностью поддерживает использование операций ввода-вывода с разбросом-сборкой. Я нашел несколько попыток обеспечить поддержку Go для операций записи, но не для чтения. Есть ли способ реализовать это в Go и/или какая альтернатива будет с точки зрения производительности?

Используйте net.Buffers для оптимизированной пакетной записи с использованием writev или аналогичного.
Для чтения поместите данные в один буфер и кусочек буфер по мере необходимости.
Сеть? А файлы? Мне нужно записать несколько фрагментов данных с помощью системного вызова
writev()на диск