-
-
Notifications
You must be signed in to change notification settings - Fork 1.1k
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
Rust: FBS do not use heap to process responses #1194
Conversation
Avoid heap allocations. Provides 10% of performance improvement[*]. This is a test bed for rewritting the rest of `from_fbs` to `from_fbs_ref`. NOTE: Once all `from_fbs` are moved to `from_fbs_ref`, rename the methods back to `from_fbs` [*]: benched producer::dump()
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Wouldn't it make more sense to not merge this PR in flatbuffers branch but wait and have a separate and complete PR for v3 once flatbuffers lands in v3?
It's a proof of concept that I wanted to try just to see if there was any perf improvement. It turns out that it comes with 10% of improvement so we can say we want it that way. This little PR took me almost a day to write, even though the porting the rest of I would like this to be merged, which prepares the land for porting the remaining methods, which could be done in a single PR or in various, since as I say, it takes some time doing this manual stuff and right now I'm reaching my human limit. |
Fair. |
Wow, this error in CI is amazing. I've restarted it assuming it is someone's issue. https://github.com/versatica/mediasoup/actions/runs/6641579661/job/18044437060?pr=1194
It's also happening in Windows + Rust:
|
Guys, I hate Python. This is consistently happening despite I restart failing jobs over and over: https://github.com/versatica/mediasoup/actions/runs/6643130351/job/18049505764?pr=1194
|
I'm not saying this is 100% related but I've found issues happening only in certain branches that don't happen once merged. Windows CI issues are getting very annoying. |
Concerns noted here have been handled plus ConsumerDump construction has also been reimplemented not to make use of heap. I'll merge once CI passes. |
Avoid heap allocations on response processing. Provides 10% of performance improvement[*].
This is a test bed for rewriting the rest of
from_fbs
tofrom_fbs_ref
.NOTE: Once all
from_fbs
are moved tofrom_fbs_ref
, rename the methods back tofrom_fbs
[*]: benched producer::dump()
NOTE: I'd like to merge this once approved. Let's have a TODO for making this improvement everywhere once flatbuffers branch is merged. This is totally a non blocker.
NOTE: I'm going to do some checks in Node too. But that's not a blocker for this PR.