Hi,

I experimented with WireGuard on a 13" MacBook Pro (2018, core i5) and was surprised to see that all implementations running on macOS (WireGuard app from App Store, Boringtun, and WireGuard-go) achieved a max throughput of only 80-100 Mbit/s. And what is even more strange, when running these same implementations in a Linux container on Docker (on the same machine, against the same peer), the performance is clearly better, close to 150 Mbit/s.  In the latter case, it is probably limited by the peer HW performance (Raspberry Pi 3B), so it could be even higher. I got these throughput numbers by running iperf inside the tunnel.

Do you have any idea what is limiting the performance on macOS? Inefficient utun driver?


BR,
Jari