The length a repair varies quite a bit based on the number and length of file paths as well as the number of versions and, I think, individual blocks.
The “compare them to the cloud” part probably isn’t as much of the time as you might think because the actual archive files (likely) aren’t being processed so much as the remote index files, which are much smaller.
Three days does seem a longer than normal duration, I’ve heard of at least one process that took 5 days. However, it is still pretty long…
If you look at your Duplicati main menu “Show log” page then direct Live and Profiling, do you see transactions being logged?