NTFS can compress files using LZNT1 algorithm (a variant of the LZ77 [21] ). Files are compressed in 16-cluster chunks. With 4KB clusters, files are compressed in 64KB chunks. If the compression reduces 64KB of data to 60KB or less, NTFS treats the unneeded 4KB pages like empty sparse file clusters - they are not written. This allows not unreasonable random-access times. However, large compressible files become highly fragmented as then every 64K chunk becomes a fragment. [22] [23]Compression is not recommended by Microsoft for files exceeding 30MB because of the performance hit.
The best use of compression is for files which are repetitive, written seldom, usually accessed sequentially, and not themselves compressed. LOG files are an ideal example. Compressing files which are less than 4KB or already compressed (like .zip or .jpg or .avi) may make them bigger as well as slower. Avoid compressing executables like .exe and .dll (they may be paged in and out in 4KB pages). Never compress system files used at bootup like drivers or NTLDR or winload.exe or BOOTMGR.
Although read–write access to compressed files is often, but not always [24] transparent, Microsoft recommends avoiding compression on server systems and/or network shares holding roaming profiles because it puts a considerable load on the processor.[25]
Single-user systems with limited hard disk space can benefit from NTFS compression. The slowest link in a computer is not the CPU but the speed of the hard drive, so NTFS compression allows the limited, slow storage space to be better used, in terms of both space and (often) speed.[26] NTFS compression can also serve as a replacement for sparse files when a program (e.g., a download manager) is not able to create files without content as sparse files.[citation needed]