BSDIFF(1)

πŸ“¦
version 4.3 Β· 2 versions
  • 4.3 Β· debian bookworm, debian trixie, fedora 43, fedora 44, nixos 26.05, nixpkgs unstable, opensuse-leap 16.0, ubuntu jammy, ubuntu noble, ubuntu resolute, ubuntu stonking (latest)
  • 15.1 Β· freebsd 14.5, freebsd 15.1
, in debian bookworm, debian trixie, fedora 43, fedora 44, nixos 26.05, nixpkgs unstable, opensuse-leap 16.0, ubuntu jammy, ubuntu noble, ubuntu resolute, ubuntu stonking

πŸ’– BSDIFF πŸ’–

okay bestie, welcome to the bsdiff page from the General Commands Manual β€” yes it's a manual-page manual page, we love a self-aware queen πŸ’…


✨ NAME ✨

bsdiff β€” generate a patch between two binary files πŸ¦‹


✨ SYNOPSIS ✨

bsdiff ⟨oldfile⟩ ⟨newfile⟩ ⟨patchfile⟩

✨ DESCRIPTION ✨

so basically bsdiff takes oldfile and newfile, does a little side-by-side comparison moment, and writes into patchfile a binary patch that's all ready to be used by bspatch(1) ✨

and here's the part that's genuinely giving main character energy: when oldfile and newfile are two versions of an executable program, the patches it produces are on average a factor of five smaller than the ones produced by any other binary patch tool known to the author. five times smaller. FIVE. no cap, that's iconic πŸ‘‘

heads up though bestie, she is HUNGRY for RAM 😭 bsdiff uses memory equal to 17 times the size of oldfile, and it needs an absolute minimum working set size of 8 times the size of oldfile. that's not a vibe, that's just the rules fr fr πŸ’€

✨ SEE ALSO ✨

  • bspatch(1) β€” the other half of the duo, the one that actually applies the patch 🫢

✨ AUTHORS ✨

Colin Percival <cperciva@freebsd.org> β€” thank you for your service legend 🌸


and that's the whole page bestie, we ate and left no crumbs πŸŽ€ this was FreeBSD, dated May 18, 2003 β€” like, the manual page itself says BSDIFF(1) at the top and bottom, which is very demure, very mindful of her πŸ’œ bye ily, go patch something βœ¨πŸ¦‹πŸŒˆ