Skip to content

Conversation

@Narfinger
Copy link
Contributor

@Narfinger Narfinger commented Oct 17, 2025

After this discussion (https://servo.zulipchat.com/#narrow/channel/263398-general/topic/IPC-Channel.20question/with/545510321)
and my own understanding the memory dance done does not seem to be necessary.
Additionally, we can replace the uses of std::mem with methods on the RefCell which makes the code cleaner and easier to understand. I also added some comments that future people are not confused why we handle memory in a thing that should serialize.

This might increase performance by a bit as my tests show 1-24% increase in the bench with most in the single digit. I noticed regressions
that seem to be just outliers as the surrounding benchmarks are fine.
On constraint devices this might be more of an increase in performance (15-42%) but these devices are very noisy.

Testing:
The included tests still work and a whole run of servospeedometer with this version of ipc-channel still worked. All of these tests were only done on Linux but it should be independent.

Signed-off-by: Narfinger [email protected]

Copy link
Member

@jdm jdm left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is definitely easier to follow now!

@jdm jdm added this pull request to the merge queue Oct 17, 2025
Merged via the queue into servo:main with commit 9513802 Oct 17, 2025
16 checks passed
@Narfinger Narfinger deleted the documentation branch October 20, 2025 07:23
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.

2 participants