Moinak Ghosh
2c516c009c
Fix crash when algo init function returns error.
...
Fix LZFX error handling.
More updates to README.
2012-07-31 21:07:35 +05:30
Moinak Ghosh
203008def9
Further improve LZMA compression parameters to utilize all the 14 levels.
...
Tweak some Rabin parmeters for better reduction with zlib and Bzip2.
2012-07-30 23:30:13 +05:30
Moinak Ghosh
7ff2cb74c4
Increase the small size slabs a bit.
...
Move 64Bit integer hashing function to common file for use in other places.
2012-07-29 15:02:51 +05:30
Moinak Ghosh
a6f3756e68
Fix slab sizing.
2012-07-29 00:36:20 +05:30
Moinak Ghosh
94563a7ecd
Fix buffer size computation when allocating Rabin block array.
...
Reduce memory usage of Rabin block array.
Add an SSE optimization for bsdiff.
Move integer hashing function to utils file.
More updates to README.
2012-07-28 23:55:24 +05:30
Moinak Ghosh
f83652aa90
Update README.
2012-07-27 22:25:44 +05:30
Moinak Ghosh
bc71caffc3
Display release version in usage text.
2012-07-27 22:07:56 +05:30
Moinak Ghosh
c7cc7b469c
Update chunk size computation to reduce memory usage.
...
Implement runtime bypass of custom allocator.
Update README.
2012-07-27 22:03:24 +05:30
Moinak Ghosh
9c3423530c
Fix huge chunk handling in zlib compression routines.
...
Fix Zlib error messages.
Remove extra variable in Bzip2 decompress routine.
2012-07-27 00:11:01 +05:30
Moinak Ghosh
b586d30359
Fix huge buffer (>2GB) handling in Bzip2 compress routine.
2012-07-26 21:47:33 +05:30
Moinak Ghosh
5ad944e368
Update usage text.
2012-07-25 21:12:30 +05:30
Moinak Ghosh
296e2ab6b2
Add support for LZ4 compression including multi-pass LZ4.
...
Add missing Read_Adjusted() declaration, was causing a crash with 2GB chunks.
Fix minor cut-paste issues in comments.
2012-07-25 21:07:36 +05:30
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
7e14909ad1
Separate initial rabin boundary detection and block splitting for performance.
...
Also fix a rare corner case latent bug.
2012-07-22 21:27:44 +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
b69dcf4d55
Remove debug statements.
2012-07-20 21:38:39 +05:30
Moinak Ghosh
fd7c7e9a65
Use 4-byte ints for header values instead of 8-byte size_t.
...
Use RLE on control data if it reduces the size.
Update some comments.
Use scratch space at end of data chunk, if available.
2012-07-20 20:53:46 +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
1da2c40888
Use a rolling checksum based sketch value for a rabin chunk instead of a CRC64 checksum.
...
Avoids additional table-lookup memory access.
Reduce Rabin window size to avoid overflows in sketch value.
No need to maintain rolling checksum in Rabin context.
A few comment cleanups.
2012-07-13 22:06:55 +05:30
Moinak Ghosh
0091a0da02
Remove debug messages.
...
Fix last segment detection.
2012-07-10 21:11:31 +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
172432698e
Adjust Rabin parameters for chunksize > LZMA window size.
2012-07-07 00:01:13 +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
774384c204
Remove debug statement.
2012-07-04 23:39:03 +05:30
Moinak Ghosh
3f0e1952ef
Fix compile warnings.
2012-07-04 23:20:10 +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
a13c61e926
Change rabin index encoding scheme for better metadata compression.
2012-07-02 22:08:03 +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
8f5f531967
Add license and other minor fixes.
2012-06-21 20:40:43 +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
b3fe43da1d
Fix dynamic slab insertion.
2012-05-31 18:12:32 +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
moinakg
10e0a75b67
Initial commit
2012-05-19 08:54:47 -07:00