Compression

Compression reduces the physical memory a volume's data occupies. It is per region and standing: compressed is the resting state of the data, not a one-off pack step, and it remains compressed under read access.

Model

A file's storage is divided into 2 MB regions, each independently in one of three states: absent (a hole, zero cost), an uncompressed extent, or a compressed blob. Transitions are per region, never whole file:

  • Read. A compressed region is decoded on demand to satisfy the read and left compressed, so the saving persists across reads. A read-mostly dataset keeps its footprint however often it is accessed.
  • Write. Writing a compressed region thaws just that region to an extent, so the write runs at full speed; it is recompressed later once idle.
  • Sweep. A background pass recompresses regions idle beyond a short interval. Active data stays uncompressed and fast; cooled data is reclaimed.

Levels

  • Off: no compression, no CPU cost. The default.
  • Fast: LZ4, negligible overhead, modest ratio. A good first choice when enabling compression.
  • Normal: LZ4HC, better ratio, still light.
  • Maximum: Zstandard, best ratio, highest CPU. Suits write-once, read-many data.

The level selects the codec for new compressions only. It can be changed at any time; existing data is repacked as it cools. The codec is recorded per blob, so mixed-codec files after a level change are valid.

Incompressible data and holes

Already-compressed content (video, images, archives) is detected per region on the first attempt and thereafter skipped, so a mixed volume compresses its text, logs, code and databases while leaving media untouched. All-zero regions are punched to holes and cost nothing.

Accounting

Free space is charged at the uncompressed (logical) size, so compression does not add capacity: a 16 GB volume still fills after 16 GB of data. The benefit is physical. Compressible data uses less RAM than its logical size, freeing memory for other processes and allowing a volume larger than the spare RAM otherwise available. The main window shows each volume's level and the RAM compression has saved, while the memory bar along the bottom reflects the real physical footprint.

When to use it

Best for volumes holding compressible, not constantly rewritten data: source trees, logs, text and CSV, test databases, build output. For a small scratch volume well within available RAM, leave it Off for maximum speed.