FAF is currently using bsdiff4 for patching.
It is really efficient at creating patch, but also very slow to process them, and more importantly memory hungry.
Ie. a Nomads patch can take up to 1.3go of ram and several minutes.
The resulting patch is 2mb.
I'm currently testing alternative.
Right now, XDelta seems quite nice.
Low memory footprint, (256 mb for the same patch), and blazing fast (2-3 seconds instead of minutes)
Of course, it produce bigger patches. 14mb instead of 2 mb (for a 147mb file).
Do you have any experience to share with other patching utility we can use?