NTFS Compression Algorithm
NTFS compression uses a 3-byte minimum search rather than the 2-byte minimum used by DoubleSpace. This search enables much faster compressing and decompressing (roughly two times faster), while sacrificing only two percent compression for the average text file.
Each NTFS data stream contains information that indicates if any part of the stream is compressed. Individual compressed buffers are identified by "holes" following them in the information stored for that stream. If there is a hole, NTFS automatically decompresses the preceding buffer to fill the hole.
NTFS provides real-time access to a compressed file, decompressing the file when it is opened and compressing it when it is closed. When writing a compressed file, the system reserves disk space for the uncompressed size. The system gets back unused space as each individual compression buffer gets compressed.
Some programs do not allocate space before beginning a save, and only display an error message when they run out of disk space.