- May 19, 2021
-
-
Nick Terrell authored
Changing the repcode search slightly, and changing when zstd is in ext-dict vs. prefix mode in edge cases, slightly changes the compressed results.
-
- May 17, 2021
-
-
sen authored
[CI] Add ARM tests back into CI
-
sen authored
[CI] Fix zlib-wrapper test
-
Yann Collet authored
Fix CircleCI Config to Fully Remove `publish-github-release` Job
-
Yann Collet authored
Enable SSE2 compression path to work on MSVC
-
Yann Collet authored
improve tar compatibility
-
senhuang42 authored
-
senhuang42 authored
-
Yann Collet authored
ZSTD_VecMask_next: fix incorrect variable name in fallback code path
-
- May 16, 2021
-
-
Yann Collet authored
This patch is supposed to improve compatibility with less featured tar variants "when the tar program used does not support historical options (without hyphen) nor the '-z' option." Patch proposed by Antonio Diaz Diaz
-
Yann Collet authored
more recent update
-
- May 15, 2021
-
-
Dan Nelson authored
-
TrianglesPCT authored
It put the changes back when I tried to make a separate pull request, i don't understand githubs interface at all.
-
TrianglesPCT authored
AVX2
-
TrianglesPCT authored
add space
-
TrianglesPCT authored
Remove the AVX2 part
-
TrianglesPCT authored
Switch to other comment style
-
Nick Terrell authored
Add determinism fuzzers and fix rare determinism bugs
-
- May 14, 2021
-
-
TrianglesPCT authored
switch to unaligned load as I don't know if buffer will always be aligned to 32 bytes, and compilers aside from MSVC might actually use aligned loads
-
TrianglesPCT authored
-
TrianglesPCT authored
use 8bit
-
TrianglesPCT authored
-
TrianglesPCT authored
msvc
-
TrianglesPCT authored
msvc suport avx2 path
-
W. Felix Handte authored
-
Nick Terrell authored
Compress the input twice in the `simple_round_trip` and `dictionary_round_trip` fuzzers with exactly the same parameters, but reusing the context. Then ensure that the compressed output is identical.
-
Nick Terrell authored
Call `ZSTD_enforceMaxDist()` before each block with the beginning of the block. This ensures that `lowLimit` is updated to `dictLimit` whenever the ext-dict is out of range, so we can use prefix mode for speed. This can cause non-determinism because prefix mode and ext-dict mode match finders can return different results. It can also hurt speed because ext-dict match finders are slower. The scenario is: 1. Compress large data with a dictionary. 2. The dictionary goes out of bounds, so we invalidate it. 3. However, we still have `lowLimit < dictLimit`, since it is never updated. 4. We will call the ext-dict match finder instead of the prefix one.
-
Nick Terrell authored
The repcode checks disallowed repcodes that are equal to `windowLow`. This is slightly inefficient, but isn't a problem on its own. Together with the next commit, it cause non-determinism.
-
Nick Terrell authored
`ZSTD_insertBt1()` has a speed optimization that skips the prefix of very long matches. https://github.com/facebook/zstd/blob/40def70387f99b239f3f566ba399275a8fd44cde/lib/compress/zstd_opt.c#L476 This optimization is based off the length longest match found. However, when indices are reset, we only ensure that we can reference the whole window starting from `ip`. If the previous block ended with a long match then `nextToUpdate` could be much less than `ip`. It might be far enough back that `nextToUpdate < maxDist`, so it doesn't have a full window of data to reference. This can cause non-determinism bugs, because we may find a match that is beyond `ip - maxDist`, and may sometimes be un-referencable, and that match triggers the speed optimization. The fix is to base the `windowLow` off of the `target` of `ZSTD_updateTree_internal()`, because anything below that value will be obsolete by the time `ZSTD_updateTree_internal()` completes.
-
- May 13, 2021
-
-
sen authored
-
sen authored
-
Yann Collet authored
Fixed meson test on travisCI
-
Yann Collet authored
hopefully, bionic will have a more recent version of python required to install meson.
-
- May 12, 2021
-
-
Yann Collet authored
reduce ZSTDMT_NBWORKERS_MAX in 32-bit mode
-
sen authored
-
Yann Collet authored
-
Olivier Perret authored
With small enough input files, the inferred value of fileWindowLog could be smaller than ZSTD_WINDOWLOG_MIN. This can be reproduced like so: $ echo abc > small $ echo abcdef > small2 $ zstd --patch-from small small2 -o patch previously, this would fail with the error "zstd: error 11 : Parameter is out of bound"
-
Yann Collet authored
and restored limit to 256 when in 64-bit mode (it was reduced to 200 to give more room for 32-bit). This should fix test instability issues using lot of threads in 32-bit environments.
-
sen authored
-
sen authored
-