Instantané des benchmarks
Instantané manuel mesuré sur Apple M4 Pro avec Go 1.26.
Débit
~4.3 Gbit/s
Meilleur chemin en cycle complet
Latence
~2.6 μs
Chemin en cycle complet le plus bas
Lookup fast-path
~4-15 ns
Plat jusqu’à 10k peers
Allocs/op
0
Hot path
Dataplane en cycle complet
Chiffrement, lookup, validation, déchiffrement, handoff. Limite supérieure pour le cœur du dataplane, pas pour le débit VPN de bout en bout.
| Chemin | Latence | Débit | Allocs/op |
|---|---|---|---|
| UDPClient -> Serveur | ~2.7 μs | ~4.3 Gbit/s | 0 |
| UDPServeur -> Client | ~2.6 μs | ~4.3 Gbit/s | 0 |
| TCPClient -> Serveur | ~2.6 μs | ~4.3 Gbit/s | 0 |
| TCPServeur -> Client | ~2.6 μs | ~4.3 Gbit/s | 0 |
Mise à l’échelle UDP multi-peer
Débit agrégé avec le travail réparti sur de nombreux peers, et non sur une seule voie d’envoi sérialisée.
UDP Client -> Serveur
Débit agrégé1 peers~3.4 Gbit/s
64 peers~34.6 Gbit/s
1024 peers~34.2 Gbit/s
UDP Serveur -> Client
Débit agrégé1 peers~3.4 Gbit/s
64 peers~32.5 Gbit/s
1024 peers~31.9 Gbit/s
Lookup et sérialisation
Les lookups par IP interne, allowed-host et route-ID restent plats. Les misses et la sérialisation par peer sont les vrais points de pression.
| Lookup | 1 peers | 100 peers | 1000 peers | 10000 peers |
|---|---|---|---|---|
| Lookup interne exact | ~8.7 ns | ~9.0 ns | ~9.3 ns | ~9.3 ns |
| Lookup allowed host | ~13.5 ns | ~14.9 ns | ~13.4 ns | ~14.1 ns |
| Lookup Route ID | ~3.9 ns | ~6.4 ns | ~6.0 ns | ~6.6 ns |
| Miss path | ~35.4 ns | ~699 ns | ~9.0 μs | ~89.5 μs |
Voie egress
~4.7 ns -> ~80 ns
Envois sans contention à contention
Miss path
Linéaire
~35 ns à 1 peer -> ~89.5 μs à 10k peers