private-octopus / picoquic

Minimal implementation of the QUIC protocol
MIT License
523 stars 153 forks source link

Further performance work for packet loop #1615

Open huitema opened 5 months ago

huitema commented 5 months ago

The unified socket loop merged code from the previous "packet loop" and the windows specific version, keeping the most important improvements from both:

There are a couple more optimizations that could be used, such as:

This should be implemented over time.

The most important next improvement is the support for running the packet loop in a background thread, because that would remove the need for "active polling", which can affect performance. The next most important step is the implementation of multiple asynchronous sendmsg in parallel in Windows, because that would allow for removal of the previous loop for the code base.