The LZW compressor encodes strings by reference to a dynamically generated dictionary. It exploits the redundancy of data for efficient compression by compressing uses up to 13 bit codewords. Each entry in the dictionary is a string and it is initialized with every possible byte by storing the byte in a 16384 entry two way skewed cache structure and as each entry is a 25 bit value it creates the hash table with 51200 bytes.
Variable length code words (up to 13 bits)
Automatic compression abort when output compressed size is greater than the input data size