Once a given amount of data is compressed, say N bytes, then the compressor searches for the longest string in the N bytes that matches the string starting at the next unprocessed byte. Because data compression is an extension of fragment support, the performance costs associated with fragments also apply to data compression. Most UNIX regular files are written only once, but some are updated in place. For the latter, data compression has the additional performance cost of having to allocate 4096 bytes of disk space when a logical block is first modified, and then reallocate disk space after the logical block is written to the disk. This additional allocation activity is not necessary for regular files in a noncompressed file system.
Data compression increases the number of processor cycles.
For the software compressor, the number of cycles for compression is approximately 50 cycles per byte, and for decompression 10 cycles per byte.