Thanks for the effort, but it looks that it doesn't work... At least not optimally. Here's my setup:
I have two binary files (DLLs), which have the exact same size (about 40M), and which differ very slightly. Here's the screenshot from BeyondCompare:

As you can see, the files differ only in very few bytes.
But when I've did the following (example from the documentation):
//Create fingerprint of a file
fingerprint := NewFingerprint("/path/foo_v1.binary", 1024)
//Say the file was updated
//Lets generate the diff
diff := NewDiff("/path/foo_v2.binary", *fingerprint)
I've found out that the resulting diff has more than 725,000 blocks (Block). Serialized in JSON the diff is about 9M. I've also tried with a smaller block size (64), and ended up with diff of 150M in JSON.
Sadly I cannot share the actual DLLs (company secret), but I believe that you can reproduce by using any DLL with a similar size, make a copy with few bytes changed here and there, and try.
Thanks for the effort, but it looks that it doesn't work... At least not optimally. Here's my setup:
I have two binary files (DLLs), which have the exact same size (about 40M), and which differ very slightly. Here's the screenshot from BeyondCompare:
As you can see, the files differ only in very few bytes.
But when I've did the following (example from the documentation):
I've found out that the resulting
diffhas more than725,000blocks (Block). Serialized in JSON the diff is about 9M. I've also tried with a smaller block size (64), and ended up with diff of 150M in JSON.Sadly I cannot share the actual DLLs (company secret), but I believe that you can reproduce by using any DLL with a similar size, make a copy with few bytes changed here and there, and try.