Skip to content

Channels optimization #91

@flcl42

Description

@flcl42

Is your feature request related to a problem? Please describe.
Channels are used to efficiently pass data through the protocol stack, they are queues of byte chunks and copy happens only when API does not allow working with ReadOnlySequence. Still they need several improvements:

  • initially allocate data in consistent way
  • de-allocate data when it's read
  • when the data is being materialized, provide access to underlying spans, to cover more use cases?
  • detect leaks and de-allocate data that will not be read for sure

Describe the solution you'd like

  • Measure current memory allocations and determine the current level of efficiency, if it's worth it:
  • Add allocator to be used by transport protocols
  • Improve read api
  • De-allocate when needed

Describe alternatives you've considered
TBD

Additional context
How it's now:

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions