Kopia v0.9 has been released

I’m happy to announce that Kopia v0.9 has been released.

Release notes and downloads can be found at:

This includes a big set of changes, thanks everyone for your patience and help debugging various issues during this cycle.

Note that most of the UI redesign features did not make it into the release as it is primarily focusing on internal and performance improvements.

Please report any issues here or on GitHub.


I’m happy to report that 0.9 has some big performance gains, mostly due to memory management improvements and splitter optimization.

I ran a benchmark in a GCP VM (c2-standard-8) running Linux (8 cores, 32 GB RAM and local repository in /dev/shm) :

There are 7 scenarios:

  • linux-parallel-2 and linux-parallel-4 - snapshot source code of Linux 5.14.8 using --parallel=2 or --parallel=4
  • linux-pgzip-parallel-4 - snapshot source code of Linux 5.14.8 using --parallel=4 and pgzip compression
  • isos-parallel-2 and isos-parallel-4 - snapshot a directory containing 8.6GB of Linux ISOs using parallelization of 2 or 4 respectively:
  • vmdisk-sparse and vmdisk-sparse-pgzip - snapshot a single sparse VM image of around 40GB containing 3.6GB of actual data (the rest are all zero)

Average time to snapshot (ran 4 times, discarded first, took average of 3). Vertical axis is in seconds, shorter is better.

Snapshotting sparse data is much faster thanks to new repository format where compression is performed after hashing, so zero data is only compressed once:

More data, including CPU and memory usage can be found in:

1 Like

This is amazing!
Thanks for all your work.

So is append-only mode already possible or the new index format allows to implement it later?
I guess to enable it now, we would need to disable full maintenance.

Kopia still uses deletes in one or two places, those will be eradicated in v0.10 but the primary index structure is now append-only (does not require deletes for performance, but will attempt them for cleanliness).

The UX of maintenance in append-only cases still needs to be worked out, that’s why I’m not claiming append-only is possible today.

1 Like