I’m hoping to purchase and use Duplicacy for a number of computers, but I’m running into one issue that’s pretty problematic.
In all other regards including the CLI, duplicacy is brilliant!
If I want to restore a single file or other subset of a repo, listing files via the GUI to do so takes a prohibitive amount of time. By way of comparison, listing all the files in the revision from the CLI executes in only ~20 seconds.
Reproduction steps:
- I’m running the Duplicacy GUI version 2.0.8 on Windows.
- For now I’m just backing up to another machine on the network over Samba (the repo URL is of the form
samba://U:\backup
) - the backups were performed from the Duplicacy GUI. - I have three revisions so far, spaced an hour apart each (with a very small diff between each of them).
- The storage contains ~152GiB, made from a repo of size ~195GiB.
- The backup contains about 1.1 million files.
Here’s some output that demonstrates how this performs from the CLI (despite the ‘sh’, this is being run on Windows, I’m just using MinGW to run the time
command - the duplicacy binary being run is the Windows PE executable).
sh-4.3$ time duplicacy -background -log list -id [my-snapshot-id] -r 3 -files > file_list.txt
real 0m20.892s
user 0m0.000s
sys 0m0.030s
sh-4.3$ wc -l file_list.txt
1149213 file_list.txt
sh-4.3$ du -sh file_list.txt
258M file_list.txt
Above I’ve used exactly the command that duplicacy runs from the GUI, as noted by its ‘Running [command]’ dialog.
It looks like the GUI is very slowly receiving the piped output from the CLI tool, which is presumably alive waiting to emit all of its output.
I understand that the GUI has to parse the log output from the CLI to display its tree, but hopefully there’s a path to optimising this (whether this involves changing the CLI’s output format to something more amenable or building the tree in a different way)?
As things stand, restoring from the GUI is almost completely impractical (I’ve not yet been able to wait long enough to see the restore list populate, having given up after 15 minutes or so of waiting, whilst the ‘Running [command]’ GUI displays as an always-on-top window on my machine!).
It would be really good to be able to use the GUI for restores, so I’ll leave it at that and hopefully there’s an answer to this on the near horizon!
Here’s the context on the underlying processes: