Skip to content

Compress payload data with LZMA

Daniel Vrátil requested to merge work/dbdata-compression into master

When serializing payload into bytestream, run it through LZMA compression to save disk space. Most of our payloads are text data which can be well compressed. In my local test, compressing each file in file_db_data with LZMA reduced the overall used disk size by ~30%.

Only drawback I see here is that the Item size now matches the size of the compressed payload rather than the size of the original payload, so clients that show the size in the UI will be reporting smaller sizes. This could be fixed by declaring that "size" is the size of the uncompressed payload and removing some sanity checks that payload.size() == size from Akonadi, but for now I decided to keep things simple.

See the commit messages for more details.

Merge request reports