Skip to content

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