Commit graph

71 commits

Author SHA1 Message Date
Moinak Ghosh
53d4311534 Make LZFX Hash size dynamic.
Use smaller min rabin block when using fast compression algos.
Add missing check for algo init function return value.
2012-07-23 21:43:12 +05:30
Moinak Ghosh
8cfd54fe34 Add LZFX Compression support, a very fast lightweight compressor.
Avoid a branch in the rabin loop.
2012-07-23 00:15:08 +05:30
Moinak Ghosh
962a2cae8a Compress Dedup index only if it is at least 90 bytes to avoid expansion.
Some minor cleanup.
2012-07-22 00:00:41 +05:30
Moinak Ghosh
e788eb43b8 Implement Delta Encoding based on modified bsdiff.
Change to more accurate Sketch value computation approach.
2012-07-19 21:41:07 +05:30
Moinak Ghosh
a873f92e41 Fix crash when decompressing deduped archive.
Ensure correct level is passed to lzma.
Avoid branch when wrapping rabin window position and check for rabin window size to be power of 2.
Update rabin parameters check for adaptive modes.
Add detection of 7-bit text/8-bit binary data for later use.
2012-07-10 20:14:23 +05:30
Moinak Ghosh
db0c9ea9ac Improve LZMA compression parameters at extreme levels.
Fix incorrect thread calculation.
Remove some cruft.
2012-07-09 23:28:11 +05:30
Moinak Ghosh
00d74e86c5 Fix infinite loop when dedup is disabled. 2012-07-08 22:31:09 +05:30
Moinak Ghosh
010f49f412 Implement ability to partition chunks at the last rabin boundary instead of fixed size. 2012-07-08 21:44:08 +05:30
Moinak Ghosh
d3f5287ee5 Update License info to LGPLv3. 2012-07-07 22:18:29 +05:30
Moinak Ghosh
ea923b84f0 Use different min block size and Rabin break pattern depending on compression algo.
Cleanup some cruft.
2012-07-06 23:24:12 +05:30
Moinak Ghosh
f5ce45b16e Techniques to better reduce Rabin Metadata.
Fix wrong chunk sizing with dedup enabled.
2012-07-06 00:16:02 +05:30
Moinak Ghosh
1eee08040f Use diferent average Rabin block sizes depending on compression algorithm.
Misc cleanups.
2012-07-03 22:47:24 +05:30
Moinak Ghosh
a1825a2305 Implement Parallel deduplication support.
Restructure compression functions to take chunk flag as argument.
Add missing error flag printing in LZMA.
Only create enough threads as needed by chunk size and file size.
Minor cleanups and variable name changes.
2012-07-01 21:44:02 +05:30
Moinak Ghosh
f9c3644459 Updates to Rabin based Dedup.
Change command line option.
2012-06-29 23:45:06 +05:30
Moinak Ghosh
cbf9728278 Implement Deduplication based on Rabin Fingerprinting: work in progress.
Fix bug that prevented pipe mode from being used.
Allow building without specialized allocator.
Use basic optimize flag in debuig build.
2012-06-29 18:23:55 +05:30
Moinak Ghosh
733923cbf2 Add ability to adjust chunk boundary based on Rabin Fingerprinting to improve compression.
Remove unnecessary checks in compression loop.
2012-06-21 20:27:05 +05:30
Moinak Ghosh
7e9f636f8d Change adaptive modes. 2012-06-01 22:04:08 +05:30
Moinak Ghosh
e46d3d10b3 Add basic compression statistics and new option to display them. 2012-05-31 21:36:33 +05:30
Moinak Ghosh
3cdfa86d65 Portability to Solaris and derivative platforms. 2012-05-31 18:01:34 +05:30
Moinak Ghosh
2eaf151ca0 New capability in allocator to add slab caches with user-specified size.
Use specific slab caches in main program and Lzma to slightly reduce memory footprint.
Fix missing hashtable counter update in allocator.
Slight cleanup of repeated computation with macro in Lzma.
2012-05-31 13:06:40 +05:30
Moinak Ghosh
07dfed7769 Initial Commit. 2012-05-28 20:19:29 +05:30