Data compression is the science of taking big computer files, shrinking them down for easy transport or storage and then expanding them back into their original size and shape later on when you need to use them again. It gets used everywhere from computer backups to streaming video to software downloads and more.
But how does it work? How do you take 100 MB of data and somehow fit it into an only 10 MB file?
Let’s find out by writing our own simple compression algorithm!
Let’s Program A Compression Algorithm Part 1: How To Fit A Byte Into A Bit And Other Curious Tricks
Let’s Program A Compression Algorithm Part 2: In Which A General Idea Becomes A Specific Algorithm
Let’s Program A Compression Algorithm Part 7: Considerations On Speeding Up Slow Code
Let’s Program A Compression Algorithm Part 8: Further Musings On Speeding Up Slow Code
Code
wrcslow.lisp – Our super slow but functional prototype from parts 1-5
wrcfast.lisp – The much faster optimized code from parts 7 and 8