compressBound often overestimates the amount of memory needed, meaning that we need to later allocate a second memory block with a smaller size than the original. However, this is very costly for large payloads. We would be able to mitigate this using a reusable memory block for compressing data.