TailscaleKabir Sikand, Kevin Purdy7 min readintermediate
We're making Tailscale faster
Summary
Tailscale is cutting memory overhead for small packets, adding a multi‑queue pipeline for routers and exit nodes, using Linux’s writev, and introducing netmap caching to speed up startup. These changes give ~5 % throughput gains now and larger gains in upcoming releases.
- On Linux/Android Tailscale now reuses a single 64 KiB read buffer for many small packets, avoiding per‑packet copies and reducing memory use, yielding ~5 % throughput improvement.
- A new multi‑queue architecture assigns each traffic flow its own lane, allowing parallel processing across CPU cores for subnet routers, app connectors, and exit nodes, improving aggregate capacity and latency.
- Tailscale now uses the Linux writev system call to send packet fragments to the kernel in a single operation, cutting memory copies and boosting throughput.
- Netmap caching stores the control‑plane network map on disk so clients can start communicating before the control plane is reachable, reducing startup latency by up to two orders of magnitude in poor‑network scenarios.
Reducing per‑packet memory copies and enabling parallel packet processing directly translates to higher bandwidth and lower latency for Tailscale‑based workloads such as CI pipelines, remote development, and edge devices, making a mesh VPN viable for performance‑sensitive applications.
6/10




