Commit Graph

7811 Commits (5fbc6addb6a2a271d9164631f2fa81f24158a9c1)

Author SHA1 Message Date
Nick Terrell 718f00ff6f
Optimize decompression speed for gcc and clang (#1892)
* Optimize `ZSTD_decodeSequence()`
* Optimize Huffman decoding
* Optimize `ZSTD_decompressSequences()`
* Delete `ZSTD_decodeSequenceLong()`
2019-11-25 18:26:19 -08:00
Yann Collet 5e657aca90 silence scan-build false positive
blind attempt
2019-11-25 15:50:58 -08:00
Yann Collet 9a3de0a535 changed name from createX to assembleX
shows that the resulting object just takes ownership of provided buffer.
2019-11-25 15:34:55 -08:00
Yann Collet b1de3ecdd5 fix mode_t on Windows 2019-11-25 13:59:35 -08:00
Yann Collet 9a22140ef4 created UTIL_chmod()
protecting "/dev/null" from having its permissions changed.

also : minor : improved consistency of util.h API
2019-11-25 13:45:22 -08:00
Yann Collet 60db21a677 added decompression into /dev/null tests 2019-11-25 10:53:03 -08:00
Yann Collet 7aaac3f69c fix #1904
/dev/null permissions were modified when using sudo rights.
This fixes this bug during decompression.

More importantly, this patch  adds a test, triggered in TravisCI,
ensuring unaltered /dev/null permissions.
2019-11-25 10:35:36 -08:00
Yann Collet 762a0dfc45 minor update to travis script
many tests used to be run on Trusty platform,
they are now run on _current_ platform,
and now many test titles are incorrect.
Fixed.
2019-11-22 17:32:07 -08:00
Bimba Shrestha 826b555463
Merge branch 'dev' into oss 2019-11-22 17:29:33 -08:00
Yann Collet d4ce04c3e7
Merge pull request #1897 from sergey-dryabzhinsky/patch-1
WIP: Fix typo in util.c
2019-11-22 17:25:55 -08:00
Bimba Shrestha 707a12c419 Test enough room for checksum in superblock 2019-11-22 17:25:36 -08:00
Nick Terrell 385a447e52
Merge pull request #1903 from terrelln/null
Fix null pointer addition
2019-11-21 17:35:06 -08:00
Yann Collet b8c9e6e36d
Merge pull request #1902 from terrelln/ignore
[cmake][tests] Add zstreamtest executable
2019-11-21 15:49:06 -08:00
Bimba Shrestha 10bce1919e Mixed declration fix 2019-11-21 13:08:27 -08:00
Bimba Shrestha 0451accab1 Checking noCompressBlock explicitly for rep code confirmation 2019-11-21 13:06:26 -08:00
Nick Terrell 659e9f05cf Fix null pointer addition 2019-11-20 18:36:04 -08:00
Nick Terrell ac992b35a2 [cmake][tests] Add zstreamtest executable 2019-11-20 17:26:06 -08:00
Nick Terrell 0bea5d6589
Merge pull request #1901 from terrelln/ignore
Update .gitignore
2019-11-20 17:24:19 -08:00
Nick Terrell e68db76b4b Update .gitignore 2019-11-20 16:36:40 -08:00
Yann Collet 2d4dcce55f
Merge pull request #1894 from felixhandte/doc-clarify-dctx-reset
Easy: Update Comment on `ZSTD_initDStream()`
2019-11-19 16:18:56 -08:00
Yann Collet c8fd2cf4c9
Merge pull request #1887 from bimbashrestha/doc-fix
Fixing hashLog error 2^26=64Mib
2019-11-19 16:14:20 -08:00
Nick Terrell 9cf8e67aaf
Merge pull request #1896 from terrelln/test-fixes
Fix Appveyor failure
2019-11-19 12:52:51 -08:00
Sergey Dryabzhinsky 612a06eb3e
Update util.c 2019-11-19 23:24:00 +03:00
Sergey Dryabzhinsky f62cf1fff5
Fix typo in util.c
There must be mtim*e*
2019-11-19 23:15:28 +03:00
Nick Terrell e0d6daabac Fix Appveyor failure 2019-11-19 11:12:26 -08:00
Bimba Shrestha 8f0c2d04c8 Going back to original flow but removing else return 2019-11-19 10:03:07 -08:00
Bimba Shrestha b032a6e1d9 Updated some more outdated bounds 2019-11-19 09:55:13 -08:00
W. Felix Handte 722149cf2b Easy: Update Comment on `ZSTD_initDStream()` 2019-11-19 01:57:15 -05:00
W. Felix Handte b5fb2e7c12 Add Tool to Diagnose Whether Corrupt Blobs are Plausibly Bit-Flips
I spend an increasing amount of my time looking at "Corrupted block detected"
failures in decompression. Not infrequently, I suspect that it is the result
of hardware failure, and that the blob has become bit-flipped or otherwise
corrupted somewhere along the line.

For that reason I was motivated to write a little tool to inspect blobs that
fail to decompress, to try modifying them, and then check whether they
decompress successfully. This seems like potentially a generally useful tool,
so I figured it might be worth putting in `contrib/`.
2019-11-19 01:53:36 -05:00
Nick Terrell 6a7f65117e
Merge pull request #1866 from legrosbuffle/dev
Optimized loop bounds to allow the compiler to unroll the loop.
2019-11-18 16:16:30 -08:00
Nick Terrell a839d6852c
Merge pull request #1888 from senhuang42/superblocks_fixed
RLE test and re-enable RLE in main compression loop
2019-11-18 16:09:33 -08:00
Nick Terrell 76e661fa04
Merge pull request #1889 from vtorri/dev
shared library: rename import library with .dll.a extension
2019-11-18 16:07:28 -08:00
Bimba Shrestha 80586f5e80 Reversing condition order and forwarding error 2019-11-18 13:53:55 -08:00
Sen Huang bc3e21578d No margin on RLE test size check 2019-11-18 16:39:16 -05:00
Bimba Shrestha dade64428f Output regular uncompressed block when compressSequences fails 2019-11-18 08:43:14 -08:00
Bimba Shrestha 2d5d961a60 Typo in comment 2019-11-15 19:00:53 -08:00
Bimba Shrestha dba767c0bb Leaving room for checksum 2019-11-15 18:44:51 -08:00
Sen Huang db8efbfe7d Updated comment to reflect actual compression behavior 2019-11-15 16:11:14 -05:00
Vincent Torri 6b5c10b48c shared library: rename import library with .dll.a extension
mort of open source project are using this extension for the import library.
The Win32 linker is supporting this extension, see
https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/4/html/Using_ld_the_GNU_Linker/win32.html
section "direct linking to a dll"
2019-11-15 19:46:06 +01:00
Vincent Torri a2d9dbd53c Merge remote-tracking branch 'upstream/master' into dev 2019-11-15 19:37:15 +01:00
Sen Huang 75c34684c0 Modified existing RLE test to take compressed size into account 2019-11-15 12:26:48 -05:00
Clement Courbet b3c9fc27b4 Optimized loop bounds to allow the compiler to unroll the loop.
This has no measurable impact on large files but improves small file
decompression by ~1-2% for 10kB, benchmarked with:

head -c 10000 silesia.tar > /tmp/test
make CC=/usr/local/bin/clang-9 BUILD_STATIC=1 && ./lzbench -ezstd -t1,5 /tmp/test
2019-11-15 08:27:05 +01:00
Sen Huang d9646dcbb5 Fixed main compression logic changes 2019-11-14 19:39:09 -05:00
Yann Collet 4b1ac69f19
Merge pull request #1868 from senhuang42/superblocks_fixed
Superblocks rebased for merge
2019-11-14 13:31:34 -08:00
John Ericson 10552eaffe Fix MinGW cross install from Unix
Needed a bunch of `$(EXT)`
2019-11-14 14:19:07 -05:00
John Ericson 0ede342acc Fix MinGW cross build from Unix
generate_res.bat seems rather pointless, am I missing something? I just
inlined it into the Makefile.
2019-11-14 14:19:06 -05:00
Bimba Shrestha 982830b081 Fixing hashLog error 2^26=64Mib 2019-11-14 10:48:55 -08:00
Sen Huang c26d32c91c Change superblock #include to be last 2019-11-14 13:12:17 -05:00
Yann Collet d67742bc5d
Merge pull request #1858 from senhuang42/dictionary_header_size
Method to get dictionary header size
2019-11-14 09:44:07 -08:00
Yann Collet 2ba0167a7d
Merge pull request #1884 from facebook/specMBS
Specs. clarifications for Block_Maximum_Size
2019-11-14 09:32:07 -08:00