3706570deb89198f28be7898790978a1dd5bca6e replaces the exponential growth in memory allocs of std::Vec with a linear progression, optimized for our serialization use case.
1526a403d391264c492c3c873b030bb521818751 bumps the serde dependency to take advantage of a fix there that allows for bigger upfront single memory allocs (2MiB), as opposed to starting at 4096 bytes, and then using the exponential progression of std::Vec to allocate the correct size buffer. In practice, this resulted in a memory allocation of 16K for a object of size 8K. Now we allocate exactly the memory we need upon deserialization.
Highlights:
std::Vec
with a linear progression, optimized for our serialization use case.std::Vec
to allocate the correct size buffer. In practice, this resulted in a memory allocation of 16K for a object of size 8K. Now we allocate exactly the memory we need upon deserialization.