Operations are file not set based, so e.g. the rebuilder will - when it finds a hash match - transfer the one single file to the destination. As long as you're using zip files, this is done without recompressing the files (unless you turned on recompressing). For rar/7z files it's different, there, data will be temporarily unpacked and added. Solid 7z files are a pain, since it will require a recompression of the whole archive over and over again. So yes, zip (or decompressed sets) are fast, 7z/rar is slow, solid 7z archives are very very slow.
As I said, a normal scan with fix operations disabled should be fast since no archive operations are involved. If this already takes hours for you, you have a different problem. To give you a number....a first full MAME scan on a 6 year old i7 machine is approx. 5 minutes...a second one where most of the disk access is cached, 1 minute, using a HD (not SSD).
The normal (non-fix) scan tree output should already give you an impression of the state of your collection. If nearly each and any set is listed with issues, you may have chosen a wrong merge mode or you're scanning a wrong path which would result in thousands of archive changes....so double check before running fixes.
General speed tips:
- using the rebuilder to add new files is better than using fix-missing, since fix-missing looks up several sources and is slower in the end
- fix missing can be a time killer (e.g. in progetto snaps sets)
- use zip files (when using 7z or even solid 7z, a post operation may be better which then recompresses touched files in one go)
- use split sets
- turn off sha1 checking
- know from where to where you do rebuild operations, same disk can crawl (in this context, the cmpro temp folder is also a thing to take into consideration)
- for rebuilding, use the new standalone rebuilder ;-)