What is the biggest factor in prune speed?

For a given repo hosted offsite (backblaze, s3, etc.), what makes a prune go faster or slower? Is more CPU faster, or is it I/O or network constrained?

The performance limits should be the following, ordered from high to low importance:

  • restic version: use restic version 0.12.0 or higher. Prune will be a lot faster, depending on the repository a speedup of one or two orders of magnitude is not uncommon.
  • backend throughput / latency: recent restic versions should be able to repack at least a dozen MB/s for all backends. For backends with low storage latency (less than a few hundred milliseconds) a much higher throughput is possible.
  • CPU: Any x86 CPU from the last decade should CPU-wise be able to saturate a 1Gbit/s network connection. Something like a Raspberry Pi hits the CPU-limit much earlier.
2 Likes