Try reducing allocations in encapsulation.ReadData
In the branch https://gitlab.torproject.org/dcf/snowflake/-/commits/encapsulation-readdata-buffer
(commit dcf/snowflake@9ac64239)
I have a patch to make encapsulation.ReadData
fill a provided buffer rather than allocate a new buffer on every call.
This function is part of the hot read loop and is probably respondible
for a large part of garbage collection pressure.
I am going to test this change on a production bridge to see if it helps.
/cc @linus