Tuesday, June 25, 2019

SuperDuper 3.2.5

Dave Nanian:

So if that code was right, why the heck were some users getting occasional multiple runs? And why wasn’t it happening to us here at Shirt Pocket HQ?

[…]

Previously, in order to work around problems with Clean My Mac (which, for some reason, incorrectly disables our scheduling when a cleanup pass is run, much to my frustration), we changed SuperDuper to reload our LaunchAgents when it starts, in order to self-repair.

[…]

Readers may recall that launchd’s ThrottleInterval doesn’t really control how often a job might launch, “throttling” it to only once every n seconds. It actually forces a task to relaunch if it doesn’t run for at least n seconds.

It does this even if a task succeeds, exits normally, and is set up to run, say, every minute.

[…]

So, in 3.2.5, we’ve changed this so that rather than write a file “optimally”, maximizing the number of holes, we write it “accurately”. That is, we exactly replicate the sparse structure on the source. This speeds things up tremendously. For example, with a typical sparse docker image, the OS’s low-level copyfile function takes 13 minutes to copy with full fidelity, rsync takes 3 minutes and doesn’t provide full fidelity, whereas SuperDuper 3.2.5 takes 53 seconds and exactly replicates the source.

Previously:

Update (2019-07-01): Dave Nanian:

One of the new things in SuperDuper! 3.2.5: more guidance when granting us full disk access. Basically, working around Apple’s inadequate and confusing UI.

Comments RSS · Twitter

Leave a Comment