Thanks for the example! I'll check it out.
The block by block comparison of files which you proposed is actually part of my next approach. I may be able to forgo the need to digest the file content altogether and get a real speed boost by only reading as many bytes from a file as I need to in order to tell that it's different. Much less IO required.
A mistake can be valuable or costly, depending on how faithfully you pursue correction