3 ms·
Three system calls per packet is not a serious design. First of all, QUIC supports ack ranges which allow ack coalescing, so you do not need to average one ack
by Veserv 2y ago
Three system calls per packet is not a serious design.
First of all, QUIC supports ack ranges which allow ack coalescing, so you do not need to average one ack per packet.
Second of all, QUIC supports frame packing, so you can piggyback on the opposing flow, though in these one-way benchmarks that should not matter.
Third of all, even 1 syscall per packet is not a serious design. You should be doing batch packet reads and writes to amortize that overhead and such APIs have existed for over a decade.
And again, these other aspects should apply zero meaningful performance impact when comparing to ~7 Gbps unless they, themselves, are outrageously slow. But then these would not be QUIC benchmarks, they are “my outrageously slow encryption and UDP stack” benchmarks. And it still falls back to my overarching point which is that ~7 Gbps per core for your end to end networking seems awfully slow. If QUIC is not your bottleneck, then why not benchmark non-bottlenecked systems. If QUIC is your bottleneck, then that seems really slow.