Skip to content

[QUIC] Read can be highly inefficient #56891

@wfurt

Description

@wfurt

I bump to this while looking at #56115

Consider the BigWrite_SmallRead_Success. We can receive 100b in single contiguous chunk and yet we would do 99 p/invokes to MsQuic and then receive 99 additional events via HandleEventRecv.

It feels like there is no point of informing MsQuic that we process something unless it is at least QuicBuffer.Length worth off data. There is no way IMHO it can return half of the buffer to the the OS.
Now, there is aspect that MsQuic can inform peer that some data were consumed but that only increases the inefficiency by sending extra data.

This probably needs deeper look.

Metadata

Metadata

Assignees

No one assigned

    Labels

    area-System.Net.QuicenhancementProduct code improvement that does NOT require public API changes/additionstenet-performancePerformance related issue

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions