Structureshrink: Structured shrinking of unknown file formats
github.com
github.com
It actually works on pretty much any filetype too (with the --chars flag)
structureshrink more or less came out of frustration with what a bad job most of the existing shrinkers do. In particular the algorithm that lithium uses is more or less structureshrinks last ditch "Welp, everything else has failed, might as well try this" approach.
As to speed...well the kind of problem I was using it on was reducing an excessive dataset that was used by the entire test suite of an app; so each iteration was a complete test run of a minute or two. I was under no illusions that this was going to be fast, so I left the script to do its thing and came back to check on it after lunch. In terms of time I didn't have to waste hacking that data myself, it was a win.
TempleOS has LZW compression. http://www.templeos.org/Wb/Kernel/Compress.html#l1