Jump to content

Data compression symmetry

From Wikipedia, the free encyclopedia

Symmetry and asymmetry, in the context of data compression, refer to the time relation between compression and decompression for a given compression algorithm.

If an algorithm takes the same time to compress a data archive as it does to decompress it, it is considered symmetrical. Note that compression and decompression, even for a symmetric algorithm, may not be perfectly symmetric in practice, depending on the devices the data is being copied to and from, and other factors such as latency and the fragmentation on the device.

In turn, if the compression and decompression times of an algorithm are vastly different, it is considered asymmetrical.

7zip algorithms comparison[1]
(in nanoseconds/bytes)
Algorithm Compression Decompression Symmetry
LZMA 2286 63 Asymmetrical
BWT 1974 176 Asymmetrical
PPMd 647 655 Symmetrical

Uses

[edit]

Symmetric algorithms are typically used for media streaming protocols, as either the server taking too long to compress the data, or the client taking too long to decompress, would lead to delays in the viewing of the data.

Asymmetrical algorithms wherein the compression is faster than the decompression can be useful for backing up or archiving data, as in these cases data is typically much more often stored than retrieved.

Also asymmetrical algorithm are used in audio compression because decompression must happen in real-time, otherwise playback might get interrupted. [2]

References

[edit]
  1. ^ Mahoney, Matt. "Large Text Compression Benchmark". mattmahoney.net. Retrieved 3 January 2025.
  2. ^ David Salomon (2008). A Concise Introduction to Data Compression. Springer. ISBN 9781848000711.

Further reading

[edit]