Cold Spare

TOOL

Backup window calculator

Which compression setting finishes before morning, and what it actually saves you. Built on measured per-data-type ratio and throughput, not on vendor claims.

What the data is, by share of total size

Total: 100%

Estimated for the mix above. Compression and transfer are assumed to overlap, so the slower of the two is what you wait for.
SettingCompressed sizeSavedCPU timeTransferWall clock

How it works out the numbers

No model, no curve fitting. For each compression setting the calculator holds the ratio and the throughput measured separately for each of the five data types, applies them to the share of your data that is of that type, and adds up:

compressed  = Σ  bytes(type) / ratio(setting, type)
cpu seconds = Σ  bytes(type) / throughput(setting, type) / cpu_factor
transfer    = compressed / link_speed
wall clock  = max(cpu seconds, transfer)

The max() is there because borg, restic and a tar | zstd | ssh pipeline all stream: the compressor works on the next chunk while the previous one is in flight, so the slower stage sets the pace rather than the two adding up. If your tool writes a full archive to local disk and only then uploads it, add the two figures instead of taking the larger.

The underlying ratio and throughput figures come from compress-results.jsonl and are compiled into this page by render-pages.py, so the calculator cannot fall out of step with the published measurements.

What it will get wrong

Everything above is checkable: the measurement it draws on, and the scripts and raw output behind that.