Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[0.x] Optimize NACKs handling #3471

Open
wants to merge 6 commits into
base: 0.x
Choose a base branch
from
Open

[0.x] Optimize NACKs handling #3471

wants to merge 6 commits into from

Conversation

atoppi
Copy link
Member

@atoppi atoppi commented Oct 30, 2024

This PR includes a set of optimizations for NACKs handling.
We identified some inefficient code paths that could potentially cause some performance issues when the server receives a high number of NACK requests.
Once completed this, a similar effort will be done on 1.x too.

TODO

  • replace g_list with g_queue to only use O(1) operations and avoid full list scanning
  • use a pre-allocated queue per component
    reduce memory allocations when preparing packets to retransmit
  • add a backoff algo when retransmitting the same packet multiple times

@atoppi atoppi marked this pull request as draft October 30, 2024 11:36
@atoppi
Copy link
Member Author

atoppi commented Nov 20, 2024

This is now ready to be tested.

@atoppi atoppi marked this pull request as ready for review November 20, 2024 14:16
ice.c Outdated Show resolved Hide resolved
@atoppi atoppi marked this pull request as draft November 21, 2024 09:33
@atoppi
Copy link
Member Author

atoppi commented Nov 21, 2024

Reverted all allocation-related stuff since it was not a viable solution.

@atoppi atoppi marked this pull request as ready for review November 21, 2024 11:21
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant