In benchmarks comparing Hermit with Linux, I see a huge performance advantage achieved by Linux due to the use of path MTU discovery. On a machine local transfer using TAP devices, I observed Linux cranking up the MTU to something ~50k bytes, whilst Hermit stayed at the 1500 bytes MTU that the TAP device was actually configured with.
Implementing path MTU discovery would have to be done upstream. Currently, Smoltcp states in their README:
Packetization Layer Path MTU Discovery PLPMTU is not implemented.
In benchmarks comparing Hermit with Linux, I see a huge performance advantage achieved by Linux due to the use of path MTU discovery. On a machine local transfer using TAP devices, I observed Linux cranking up the MTU to something ~50k bytes, whilst Hermit stayed at the 1500 bytes MTU that the TAP device was actually configured with.
Implementing path MTU discovery would have to be done upstream. Currently, Smoltcp states in their README: