Moinak Ghosh
3f62cdf7d5
Use Libbsc for MP4 and FLAC files.
...
Change some rare file type codes to indicate some common types.
2013-12-03 21:56:07 +05:30
Moinak Ghosh
c4c4b47138
Use Libbsc for DNA Sequence data instead of PPMD. Faster, better compression.
...
Fix pz extension handling for real.
2013-11-30 09:58:21 +05:30
Moinak Ghosh
dfeea8c19b
Avoid Delta2,LZP for TIFF files. Negatively impacts compression.
2013-11-29 19:47:57 +05:30
Moinak Ghosh
306f145f22
Use libbsc/ppmd for BMP files.
...
Fix extension based hashing.
Do not append .pz extension to filenames already having it.
Some code formatting changes.
2013-11-28 22:42:51 +05:30
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
b7facc929e
Add file type detection based on magic values.
...
Add more comments.
Add more extensions.
2013-11-07 23:57:15 +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
46b11def08
Archiving support using Libarchive: Work in progress changes #3 .
...
Make log_msg() add newline by default.
2013-10-24 00:16:04 +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
28fd9848f9
Ability to specify output compressed pathname.
...
Fix log level handling.
Trim commented code.
2013-10-10 21:19:44 +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
d31c6433c2
Update free memory computation to include cached buffers.
...
Fix a potential rare corner case.
2013-08-17 11:31:44 +05:30
Moinak Ghosh
fe18afbcf4
Use wrapper script to set paths when launching pcompress from build directory.
...
Use smaller max block size when doing global dedupe.
Fix init of executable name.
2013-08-07 22:03:52 +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
ddaa3b6b6d
Drastic simplification of Min-heap code and resultant Delta speedup.
2013-05-25 17:34:38 +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
0cf94c308a
Add a qsort variant optimized for integers and use in global dedupe.
...
Cleanup LZMA CRC64/32 declarations and add a header.
Fix heapq header.
2013-05-03 22:06:55 +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
8ae571124d
Complete implementation for Segmented Global Deduplication.
2013-04-18 21:26:24 +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
fa9fbdb7a4
Cleanup more stack parameters after use in various crypto functions.
...
Fix comment.
2013-03-05 20:46:18 +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
72b23dac1a
Add AES-NI optimized code derived from latest OpenSSL upstream.
...
Add AES instruction set detection.
Add missing license headers to a few files.
2013-02-25 19:23:51 +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
3e1737b4ab
Use OpenMP parallelism when computing xxHashes for chunks.
2013-02-02 09:27:58 +05:30
Moinak Ghosh
6bfd044311
Use 2-stage Merkle Tree hashing for parallel hashes for better crypto properties.
...
Update xxhash comment.
2013-02-01 22:07:28 +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
43af97042a
Major changes to use Intel's optimized SHA512 code for SHA512 and SHA512/256.
...
Remove earlier SHA256 code which is slower than SHA512/256 (on 64-bit CPU).
Use HMAC from Alan Saddi's implementation for cleaner, faster code.
2013-01-25 22:55:55 +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
7b7c85dab4
Rationalize XXHash implementation to deal with 32-byte blocks instead of 16-byte.
...
Fix XXHash performance degradation for small keys.
Modify a data analysis loop in adaptive compress to make it auto-vectorizable.
2013-01-23 20:58:39 +05:30
Moinak Ghosh
5c8704c5bb
Improve Deduplication throughtput by 90%.
...
Use SSE4 register as sliding window for default 16-byte window size.
Use local variable for sliding window position to avoid spurios memory access in non-SIMD case.
Avoid computing breakpoint check value if processed length < minimum block length.
2013-01-22 15:54:42 +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
3888c8d316
Many optimization tweaks
...
Optimize Rabin Deduplication and Bsdiff
Vectorize XXHash using SE4
2013-01-20 22:02:26 +05:30
Moinak Ghosh
39dbc4be43
Implement algo-specific minimum distance match for Delta Compression.
2013-01-14 13:20:07 +05:30