BatchConn - sendmmsg/recvmmsg in Go

BatchConn - sendmmsg/recvmmsg in Go Hey all, this time I want to talk about using sendmmsg and recvmmsg in Go and their impact on performance compared to sendmsg/recvmsg. Sendmmsg aims to provide increased performance by reducing the number of syscalls required to write data to the network using sockets. This is done by transmitting multiple packets, up to X, in one syscall. Sendmmsg works in a similar way, by reading multiple packets in a single syscall.
Read full post

Bulktransfer via TCP and UDP - A Rabbit/Turtle Race?

Bulktransfer via TCP and UDP - A Rabbit/Turtle Race? Hey Folks, this small post is about an experiment I started to determine if a hypothesis I had was correct: “Sending large amounts of data via TCP is many times faster than UDP, because there are less syscalls involved”. I came to this hypothesis, because I did some network performance tests with iperf3 with the following outcome: With TCP, iperf3 easily reaches 10Gbit/s with a single connection.
Read full post