Moinak Ghosh
0192790c02
Add Dispack filter with auto-detection of x86 executables in archive mode.
...
More elaborate magic header based detection of 32-bit and 64-bit x86 binaries.
Always use fast-mode LZ4 in Adaptive modes.
2013-11-24 19:45:58 +05:30
Moinak Ghosh
1e2c3e479a
Optimize preprocessed compression and avoid a bunch of memory copies.
...
Fix a crash.
Add a few more file types.
More comments.
2013-11-22 20:44:26 +05:30
Moinak Ghosh
11584cab52
Add fast handling of totally incompressible data (like Jpegs) in adaptive modes.
...
Add function to indicate totally incompressible data when archiving.
Reformat if statements in some places to reduce branching.
2013-11-15 21:06:23 +05:30
Moinak Ghosh
e90c52e516
Work in progress changes for packJPG encoding and decoding.
...
Enhance custom LibArchive filter functionlity.
2013-11-13 23:28:01 +05:30
Moinak Ghosh
6aacd903ff
Structured handling of file types.
...
Handling of already compressed data based on compression algorithm.
Add a few more extension types.
2013-11-09 16:46:19 +05:30
Moinak Ghosh
cae9de9b2e
Leverage file type detection(archiver) to improve compression performance.
...
Use detected file/data type(archiver) for Adaptive compression modes.
Update type flags and add more extensions.
2013-11-08 23:50:28 +05:30
Moinak Ghosh
991482403b
Add extension based file type detection and setting segment data type.
...
Use Bob Jenkins Minimal Perfect Hash to check for known extensions.
Use semaphore signaling and direct buffer copy for extraction.
Miscellaneous fixes.
2013-11-07 21:48:54 +05:30
Moinak Ghosh
7ed532133e
Avoid using pipe during archive creation. Use semaphores and direct memory copy.
2013-11-02 23:43:59 +05:30
Moinak Ghosh
8e4b774c8c
More changes for archiving.
...
Allow multiple filenames on command line when archiving.
Remove unneded small block writes with libarchive.
2013-10-27 20:36:48 +05:30
Moinak Ghosh
7f81869874
Archiving support using Libarchive: Work in progress changes.
...
Change all perror() calls to use logger.
Make the config script a little verbose.
2013-10-20 23:54:27 +05:30
Moinak Ghosh
8c1f4ebe61
Add a simple log facility.
...
Refactor all printfs to use log facility.
2013-10-02 20:45:33 +05:30
Moinak Ghosh
fa78621cbf
Cleanup pointer casting in code to use macros.
2013-09-22 20:11:15 +05:30
Moinak Ghosh
38c0869f5c
Update Changelog and tweak free memory detection for 2.4 release.
...
Add identifiers to error messages for clarity.
Fix init of dedupe block size.
Tweak free memory detection to include swap and shared memory consideration.
2013-09-05 21:12:37 +05:30
Moinak Ghosh
7743792018
Make default symbol visibility to hidden with explicit public visibility specified.
...
Add missing static scope to a few more places.
2013-06-03 20:51:00 +05:30
Moinak Ghosh
c859cf35d5
Make Pcompress functionality into a library - initial changes.
2013-06-02 20:54:33 +05:30
Moinak Ghosh
c6da2325e3
Allow SKEIN to be used as a Global Dedupe chunk lookup hash.
2013-05-04 15:59:29 +05:30
Moinak Ghosh
6e4d45b644
Fix crash with some older GCC versions. Reported in issue #7 .
2013-05-01 19:27:43 +05:30
Moinak Ghosh
d29f125ca7
Clean up temp cache dir handling.
...
Allow temp dir setting via specific env variable to point to fast devices like ramdisk,ssd.
2013-04-22 22:57:31 +05:30
Moinak Ghosh
c0b4aa0116
Many optimizations and changes to Segmented Global Dedupe.
...
Use chunk hash based similarity matching rather than content based.
Use sorting to order hash buffer rather than min-heap for better accuracy.
Use fast CRC64 for similarity hash for speed and lower memory requirements.
2013-04-21 18:11:16 +05:30
Moinak Ghosh
50251107de
Work in progress changes for Segmented Global Deduplication.
2013-04-09 22:23:51 +05:30
Moinak Ghosh
876796be5c
Work in progress changes for global dedupe.
2013-03-21 22:00:38 +05:30
Moinak Ghosh
b7fdeb08bc
Work in progress global dedupe changes.
2013-03-20 22:47:03 +05:30
Moinak Ghosh
f8f23e5200
Major License text cleanup.
2013-03-07 20:26:48 +05:30
Moinak Ghosh
cf053c0257
Fix increment of XSalsa20 192-bit nonce value.
...
Handle nonce bytes in endian neutral way.
2013-03-04 23:48:12 +05:30
Moinak Ghosh
6badbcaea7
Make global dedupe bits buildable and fix errors.
...
Rename Adaptive compression type constants to avoid conflict with global constants.
2013-02-17 21:05:40 +05:30
Moinak Ghosh
1eae57c8a2
Starting changes for single-file global dedupe.
2013-02-12 21:53:04 +05:30
Moinak Ghosh
d08b5ea399
Add optimized BLAKE2 implementations with runtime detection of CPU capability (SSE/AVX).
...
Minor cleanups.
2013-01-26 15:39:10 +05:30
Moinak Ghosh
26bb137257
Changes for generalized runtime SSE/AVX/XOP detection.
...
Multi instruction set XXhash build with runtime selection.
Extend CPUID code to detect more instruction sets.
Add options for BLAKE2 hash.
Move GCC builtins into utils header.
Bump file format version number due to extended digest flags.
Add descriptions to digest list.
2013-01-25 00:10:12 +05:30
Moinak Ghosh
e9e3e1e632
Improve SSE version detection.
...
Add SSE4 detection.
Fix setting of some opt flags in Makefile.in.
2013-01-20 22:53:36 +05:30
Moinak Ghosh
39dbc4be43
Implement algo-specific minimum distance match for Delta Compression.
2013-01-14 13:20:07 +05:30
Moinak Ghosh
d49a088eea
Fixes and performance improvements for Dedupe Delta Compression
...
Avoid using fingerprints in minhash computation and fix write amplification
Modify min-heap to use 64bit values
Improve bsdiff performance
Fix pointer comparison in bsdiff
Use 32bit offsets in bsdiff to reduce memory usage
Improve Zero RLE Encoder performance
Add more buffer overflow checks in Zero RLE Decoder
2013-01-13 22:04:59 +05:30
Moinak Ghosh
36d95276ee
Further improvements to Delta2 performance.
...
Fix the byteswap macros.
Start adding assertions.
2012-12-28 22:12:38 +05:30
Moinak Ghosh
26a4f42506
Introduce strict compiler flags and fix scores of warnings/issues.
...
Avoid different optimization flags for Dedupe sources.
Fix liberal mixing of uint64_t and int64_t (should all be uint64_t).
Fix corner case crash when decompressing.
2012-12-27 23:06:48 +05:30
Moinak Ghosh
a43fdd7d2c
Improve Delta2 scanning speed and effectiveness.
...
Add destination buffer overflow check in Delta2.
Add rough speed computation.
2012-12-23 00:44:56 +05:30
Moinak Ghosh
b0f41c2888
Add matrix transpose to Delta2 encoding.
...
Change confusing structure member name.
2012-12-13 21:18:16 +05:30
Moinak Ghosh
224fb529e9
Get rid of size_t in places where 64-bitness is assumed.
2012-12-09 10:15:06 +05:30
Moinak Ghosh
29b0d8fd7b
Implement Adaptive Delta Encoding.
2012-12-05 00:09:47 +05:30
Moinak Ghosh
d054e0f713
Zlib optimizations. Use raw deflate streams to avoid unnecessary adler32.
...
Change some function signatures to improve algo init function behavior.
Fix corner case dedupe bug in error handling flow.
Bump archive version signature.
2012-11-22 21:02:50 +05:30
Moinak Ghosh
c5ebe1f30a
Portability to Debian based distros.
...
Enable SSE4/AVX detection for AMD platforms (Bulldozer has both).
Portable long long int print formatting to silence gcc 4.6 warnings.
2012-10-21 21:03:07 +05:30
Moinak Ghosh
d13aad830e
Implement HMAC Functionality.
...
Refactor crypto utility functions in a separate file.
Add HMAC verification for file header.
Add a few extra input validation checks.
Include space in chunk header for HMAC.
2012-10-17 23:32:35 +05:30
Moinak Ghosh
f2d7bea902
Support for chunk-level encryption using AES and Scrypt based PBE.
...
Couple of minor fixes.
2012-10-15 12:10:00 +05:30
Moinak Ghosh
21cbef6d60
Incorporate SSE/AVX optimized Intel SHA-256 implementation.
...
Add support for runtime cpuid detection.
2012-10-06 20:51:23 +05:30
Moinak Ghosh
2578676b1b
Add support for SHA256 and SHA512 digests from OpenSSL library.
2012-10-03 22:43:02 +05:30
Moinak Ghosh
262566b59a
Add xxHash for Rabin block checksums, slightly faster than CRC64.
...
Fix missing initialization of character counts table.
Some file reorganization.
2012-09-02 20:40:32 +05:30