HDiffPatch
HDiffPatch copied to clipboard
greatly optimize memory require size for diff -m mode;
now -m diff:
- load old & new's data all to memory
- get cover lines by big match block
- remove some old & new's data by matched cover lines
- remaining datas, get cover lines by sstring(byte by byte) match
- merge the results(cover lines) of two match
new -m diff:
- now old & new only load as stream
- get cover lines by small or big match block (maybe slow)
- obtain the main matching path by analyzing the cover lines(The most difficult point determines whether the entire project can be completed or not.)
- remove some old & new's area by big matched cover lines (optional)
- according matching path, old data clip to multiple steps by limit size
- load every step data of old & new into memory, get cover lines by sstring(byte by byte) match
- merge the results(cover lines) of two match