v2.1.0
Added
diffWindow(oldPath, newPath, outDiffPath[, cb]): window/fast-match single-format generation — big covers from streaming block matching + suffix-string refinement inside a 2MB sliding window over old data. Match quality is close to in-memorydiff()while memory stays at the streaming tier.- Output is standard HDIFFSF20: applies via
patch(),patchSingleStream(), and all existing single-format apply sides (verified byte-exact against the legacy v3.1.1 client patch core). No consumer changes needed.
Benchmarks (vs diffSingleStream, block=64)
| pair | diffSingleStream | diffWindow | in-memory diff |
|---|---|---|---|
| 218KB Hermes HBC | 19,034 B | 4,920 B | 4,929 B |
| 100MB similar | 2,258 B | 455 B | — |
Peak RSS on the 100MB pair: ~27MB for both streaming modes.