Ответ
Syscall в горутинах будет работать быстрее, чем в процессах PostgreSQL. Горутины легковесны и работают в одном процессе, что минимизирует накладные расходы на переключение контекста. PostgreSQL использует отдельные процессы для каждого соединения, что приводит к большим накладным расходам при системных вызовах.
Пример с горутиной:
go func() {
_, err := syscall.Write(fd, data)
if err != nil {
log.Fatal(err)
}
}()
PostgreSQL же для каждого соединения создает отдельный процесс с собственным адресным пространством, что делает системные вызовы более дорогими из-за переключения между процессами.