]> git.ipfire.org Git - thirdparty/zstd.git/log
thirdparty/zstd.git
4 years agoUpdate apt-get prior to tests that install packages 2682/head
senhuang42 [Wed, 26 May 2021 17:38:36 +0000 (13:38 -0400)] 
Update apt-get prior to tests that install packages

4 years agoMerge pull request #2675 from senhuang42/ci_overhaul
sen [Wed, 26 May 2021 17:35:53 +0000 (13:35 -0400)] 
Merge pull request #2675 from senhuang42/ci_overhaul

[CI][1/2] Re-do the github actions workflows, migrate various travis and appveyor tests.

4 years agoMigrate travis CI tests 2675/head
senhuang42 [Tue, 18 May 2021 15:54:19 +0000 (11:54 -0400)] 
Migrate travis CI tests

4 years agoMerge pull request #2673 from terrelln/regression
Nick Terrell [Wed, 19 May 2021 17:19:09 +0000 (10:19 -0700)] 
Merge pull request #2673 from terrelln/regression

[test][regression] Update results.csv

4 years agoMerge pull request #2674 from terrelln/trace-aix
Nick Terrell [Wed, 19 May 2021 17:18:58 +0000 (10:18 -0700)] 
Merge pull request #2674 from terrelln/trace-aix

[trace] Refine the ZSTD_HAVE_WEAK_SYMBOLS detection

4 years ago[trace] Refine the ZSTD_HAVE_WEAK_SYMBOLS detection 2674/head
Nick Terrell [Wed, 19 May 2021 03:22:36 +0000 (20:22 -0700)] 
[trace] Refine the ZSTD_HAVE_WEAK_SYMBOLS detection

* Only enable for ELF on x86-64 or i386.
* Also explicitly disable for AIX.

Fixes #2658.

4 years ago[test][regression] Update results.csv 2673/head
Nick Terrell [Wed, 19 May 2021 02:46:37 +0000 (19:46 -0700)] 
[test][regression] Update results.csv

Changing the repcode search slightly, and changing when zstd is in
ext-dict vs. prefix mode in edge cases, slightly changes the compressed
results.

4 years agoMerge pull request #2667 from senhuang42/arm_tests_ci
sen [Mon, 17 May 2021 18:29:20 +0000 (14:29 -0400)] 
Merge pull request #2667 from senhuang42/arm_tests_ci

[CI] Add ARM tests back into CI

4 years agoMerge pull request #2668 from senhuang42/update_ci_platforms
sen [Mon, 17 May 2021 18:29:04 +0000 (14:29 -0400)] 
Merge pull request #2668 from senhuang42/update_ci_platforms

[CI] Fix zlib-wrapper test

4 years agoMerge pull request #2649 from felixhandte/circleci-release-job-fix
Yann Collet [Mon, 17 May 2021 18:22:56 +0000 (11:22 -0700)] 
Merge pull request #2649 from felixhandte/circleci-release-job-fix

Fix CircleCI Config to Fully Remove `publish-github-release` Job

4 years agoMerge pull request #2653 from TrianglesPCT/dev
Yann Collet [Mon, 17 May 2021 18:20:50 +0000 (11:20 -0700)] 
Merge pull request #2653 from TrianglesPCT/dev

Enable SSE2 compression path to work on MSVC

4 years agoMerge pull request #2660 from facebook/diaz
Yann Collet [Mon, 17 May 2021 17:15:55 +0000 (10:15 -0700)] 
Merge pull request #2660 from facebook/diaz

improve tar compatibility

4 years ago[ci] Add ARM tests back into CI 2667/head
senhuang42 [Mon, 17 May 2021 16:54:34 +0000 (12:54 -0400)] 
[ci] Add ARM tests back into CI

4 years ago[ci] Use *-latest for platforms to test on 2668/head
senhuang42 [Mon, 17 May 2021 17:04:55 +0000 (13:04 -0400)] 
[ci] Use *-latest for platforms to test on

4 years agoMerge pull request #2657 from dnelson-1901/dev-typofix
Yann Collet [Mon, 17 May 2021 04:49:21 +0000 (21:49 -0700)] 
Merge pull request #2657 from dnelson-1901/dev-typofix

ZSTD_VecMask_next: fix incorrect variable name in fallback code path

4 years agoimprove tar compatibility 2660/head
Yann Collet [Sun, 16 May 2021 06:09:42 +0000 (23:09 -0700)] 
improve tar compatibility

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

4 years agominor mention of RFC8878
Yann Collet [Sun, 16 May 2021 06:04:46 +0000 (23:04 -0700)] 
minor mention of RFC8878

more recent update

4 years agoZSTD_VecMask_next: fix incorrect variable name in fallback code path 2657/head
Dan Nelson [Sat, 15 May 2021 15:20:37 +0000 (10:20 -0500)] 
ZSTD_VecMask_next: fix incorrect variable name in fallback code path

4 years agoUpdate zstd_lazy.c 2653/head
TrianglesPCT [Sat, 15 May 2021 01:23:13 +0000 (19:23 -0600)] 
Update zstd_lazy.c

It put the changes back when I tried to make a separate pull request, i don't understand githubs interface at all.

4 years agoAdd files via upload
TrianglesPCT [Sat, 15 May 2021 01:18:12 +0000 (19:18 -0600)] 
Add files via upload

AVX2

4 years agoUpdate zstd_lazy.c
TrianglesPCT [Sat, 15 May 2021 01:11:28 +0000 (19:11 -0600)] 
Update zstd_lazy.c

add space

4 years agoUpdate zstd_lazy.c
TrianglesPCT [Sat, 15 May 2021 01:10:24 +0000 (19:10 -0600)] 
Update zstd_lazy.c

Remove the AVX2 part

4 years agoUpdate zstd_lazy.c
TrianglesPCT [Sat, 15 May 2021 01:02:34 +0000 (19:02 -0600)] 
Update zstd_lazy.c

Switch to other comment style

4 years agoMerge pull request #2648 from terrelln/determinism-fuzzer
Nick Terrell [Sat, 15 May 2021 00:19:41 +0000 (17:19 -0700)] 
Merge pull request #2648 from terrelln/determinism-fuzzer

Add determinism fuzzers and fix rare determinism bugs

4 years agoUpdate zstd_lazy.c
TrianglesPCT [Fri, 14 May 2021 23:03:30 +0000 (17:03 -0600)] 
Update zstd_lazy.c

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

4 years agoUpdate zstd_lazy.c
TrianglesPCT [Fri, 14 May 2021 22:53:19 +0000 (16:53 -0600)] 
Update zstd_lazy.c

4 years agoUpdate zstd_lazy.c
TrianglesPCT [Fri, 14 May 2021 22:47:24 +0000 (16:47 -0600)] 
Update zstd_lazy.c

use 8bit

4 years agoAdd files via upload
TrianglesPCT [Fri, 14 May 2021 22:40:32 +0000 (16:40 -0600)] 
Add files via upload

4 years agoAdd files via upload
TrianglesPCT [Fri, 14 May 2021 22:33:07 +0000 (16:33 -0600)] 
Add files via upload

msvc

4 years agoAdd files via upload
TrianglesPCT [Fri, 14 May 2021 22:32:04 +0000 (16:32 -0600)] 
Add files via upload

msvc suport
avx2 path

4 years agoFix CircleCI Config to Fully Remove `publish-github-release` Job 2649/head
W. Felix Handte [Fri, 14 May 2021 15:59:50 +0000 (11:59 -0400)] 
Fix CircleCI Config to Fully Remove `publish-github-release` Job

4 years ago[fuzz] Add determinism fuzzing to simple & dictionary round trip 2648/head
Nick Terrell [Thu, 13 May 2021 23:16:47 +0000 (16:16 -0700)] 
[fuzz] Add determinism fuzzing to simple & dictionary round trip

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.

4 years ago[lib] Fix dictionary invalidation logic
Nick Terrell [Thu, 13 May 2021 23:13:29 +0000 (16:13 -0700)] 
[lib] Fix dictionary invalidation logic

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.

4 years ago[lib] Fix off-by-one error in repcode checks
Nick Terrell [Thu, 13 May 2021 22:51:15 +0000 (15:51 -0700)] 
[lib] Fix off-by-one error in repcode checks

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.

4 years ago[lib] Fix determinism bug in the optimal parser
Nick Terrell [Thu, 13 May 2021 22:44:12 +0000 (15:44 -0700)] 
[lib] Fix determinism bug in the optimal parser

`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.

4 years agoRemove deprecate flag for vcx (#2647) 2636/head
sen [Thu, 13 May 2021 23:33:48 +0000 (19:33 -0400)] 
Remove deprecate flag for vcx (#2647)

4 years agoAdd source level deprecation warning disabling to certain tests/utils (#2645)
sen [Thu, 13 May 2021 18:41:21 +0000 (14:41 -0400)] 
Add source level deprecation warning disabling to certain tests/utils (#2645)

4 years agoMerge pull request #2644 from facebook/mesonFix
Yann Collet [Thu, 13 May 2021 17:19:49 +0000 (10:19 -0700)] 
Merge pull request #2644 from facebook/mesonFix

Fixed meson test on travisCI

4 years agoupdated meson test 2644/head
Yann Collet [Thu, 13 May 2021 16:34:28 +0000 (09:34 -0700)] 
updated meson test

hopefully, bionic will have a more recent version of python
required to install meson.

4 years agoMerge pull request #2643 from facebook/workers32
Yann Collet [Wed, 12 May 2021 21:18:31 +0000 (14:18 -0700)] 
Merge pull request #2643 from facebook/workers32

reduce ZSTDMT_NBWORKERS_MAX in 32-bit mode

4 years agoUpdate CHANGELOG to include patch from fix (#2642)
sen [Wed, 12 May 2021 20:46:05 +0000 (16:46 -0400)] 
Update CHANGELOG to include patch from fix (#2642)

4 years agoMerge branch 'dev' of github.com:facebook/zstd into dev 2643/head
Yann Collet [Wed, 12 May 2021 20:12:30 +0000 (13:12 -0700)] 
Merge branch 'dev' of github.com:facebook/zstd into dev

4 years agofileio: clamp value of windowLog in patch-mode (#2637)
Olivier Perret [Wed, 12 May 2021 20:11:15 +0000 (22:11 +0200)] 
fileio: clamp value of windowLog in patch-mode (#2637)

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"

4 years agoreduce Max nb Workers to 64 in 32-bit mode
Yann Collet [Wed, 12 May 2021 20:10:25 +0000 (13:10 -0700)] 
reduce Max nb Workers to 64 in 32-bit mode

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.

4 years agoRemove const data members in threadpooltest payload (#2639) (#2640)
sen [Wed, 12 May 2021 20:09:48 +0000 (16:09 -0400)] 
Remove const data members in threadpooltest payload (#2639) (#2640)

4 years agoRemove const data members in threadpooltest payload (#2639)
sen [Wed, 12 May 2021 16:56:57 +0000 (12:56 -0400)] 
Remove const data members in threadpooltest payload (#2639)

4 years agoAdd mt lib build to CL, shuffle around bugs section (#2638)
sen [Wed, 12 May 2021 15:31:31 +0000 (11:31 -0400)] 
Add mt lib build to CL, shuffle around bugs section (#2638)

4 years agoupdated generated man pages for v1.5.0 (#2635)
Yann Collet [Tue, 11 May 2021 22:17:31 +0000 (15:17 -0700)] 
updated generated man pages for v1.5.0 (#2635)

4 years agoBump version to 1.5.0, rebuild documentation (#2634)
sen [Tue, 11 May 2021 20:32:09 +0000 (16:32 -0400)] 
Bump version to 1.5.0, rebuild documentation (#2634)

4 years agoMerge pull request #2633 from bmwiedemann/issue2632
Yann Collet [Tue, 11 May 2021 18:17:52 +0000 (11:17 -0700)] 
Merge pull request #2633 from bmwiedemann/issue2632

Avoid SIGBUS on armv6

4 years agoAvoid SIGBUS on armv6 2633/head
Bernhard M. Wiedemann [Tue, 11 May 2021 15:46:55 +0000 (17:46 +0200)] 
Avoid SIGBUS on armv6

When running armv6 userspace on armv8 hardware with a 64 bit Linux kernel,
the mode 2 caused SIGBUS (unaligned memory access).
Running all our arm builds in the build farm
only on armv8 simplifies administration a lot.

Depending on compiler and environment, this change might slow down
memory accesses (did not benchmark it). The original analysis is 6 years old.

Fixes #2632

4 years agoMerge pull request #2630 from facebook/gcc9
Yann Collet [Mon, 10 May 2021 17:54:16 +0000 (10:54 -0700)] 
Merge pull request #2630 from facebook/gcc9

improved gcc-9 and gcc-10 decoding speed

4 years agoMerge pull request #2628 from skitt/libzstd-nomt-flags
Yann Collet [Sat, 8 May 2021 07:21:59 +0000 (00:21 -0700)] 
Merge pull request #2628 from skitt/libzstd-nomt-flags

Apply flags to libzstd-nomt in libzstd style

4 years agoimproved gcc-9 and gcc-10 decoding speed 2630/head
Yann Collet [Sat, 8 May 2021 06:58:13 +0000 (23:58 -0700)] 
improved gcc-9 and gcc-10 decoding speed

the new alignment setting is better for gcc-9 and gcc-10
by about ~+5%.

Unfortunately, it's worse for essentially all other compilers.

Make the new alignment setting conditional to gcc-9+.

4 years agoMerge pull request #2547 from facebook/d_prefetch_refactor
Yann Collet [Fri, 7 May 2021 23:28:00 +0000 (16:28 -0700)] 
Merge pull request #2547 from facebook/d_prefetch_refactor

Refactor prefetching for the decoding loop

4 years agoupdate decoder hot loop alignment 2547/head
Yann Collet [Fri, 7 May 2021 22:18:16 +0000 (15:18 -0700)] 
update decoder hot loop alignment

This seems to bring an additional ~+1.2% decompression speed
on average across 10 compilers x 6 scenarios.

4 years agoMerge branch 'd_prefetch_refactor' of github.com:facebook/zstd into d_prefetch_refactor
Yann Collet [Fri, 7 May 2021 18:30:44 +0000 (11:30 -0700)] 
Merge branch 'd_prefetch_refactor' of github.com:facebook/zstd into d_prefetch_refactor

4 years agoimprove decompression speed of long variant by ~+5%
Yann Collet [Fri, 7 May 2021 18:26:14 +0000 (11:26 -0700)] 
improve decompression speed of long variant by ~+5%

changed strategy,
now unconditionally prefetch the first 2 cache lines,
instead of cache lines corresponding to the first and last bytes of the match.

This better corresponds to cpu expectation,
which should auto-prefetch following cachelines on detecting the sequential nature of the read.

This is globally positive, by +5%,
though exact gains depend on compiler (from -2% to +15%).
The only negative counter-example is gcc-9.

4 years agoAdd PHONY targets to makefiles (#2629)
sen [Fri, 7 May 2021 18:03:19 +0000 (14:03 -0400)] 
Add PHONY targets to makefiles (#2629)

4 years agoMerge pull request #2627 from terrelln/timeout-fix
Nick Terrell [Fri, 7 May 2021 17:55:26 +0000 (10:55 -0700)] 
Merge pull request #2627 from terrelln/timeout-fix

[lib] Fix fuzzer timeouts by backing off overflow correction

4 years agoAssert no divison by 0, correct superblocks 0 sequences case (#2592)
sen [Fri, 7 May 2021 17:26:56 +0000 (13:26 -0400)] 
Assert no divison by 0, correct superblocks 0 sequences case (#2592)

4 years agoMerge branch 'dev' into d_prefetch_refactor
Yann Collet [Fri, 7 May 2021 16:32:53 +0000 (09:32 -0700)] 
Merge branch 'dev' into d_prefetch_refactor

4 years agoMerge pull request #2623 from facebook/fasterCygwin
Yann Collet [Fri, 7 May 2021 16:18:06 +0000 (09:18 -0700)] 
Merge pull request #2623 from facebook/fasterCygwin

attempt to make Appveyor's Cygwin test faster

4 years agoAdd threadPool unit tests to fuzzer.c (#2604)
sen [Fri, 7 May 2021 15:13:44 +0000 (11:13 -0400)] 
Add threadPool unit tests to fuzzer.c (#2604)

4 years ago[1.5.0] Enable multithreading in lib build by default (#2584)
sen [Fri, 7 May 2021 15:13:30 +0000 (11:13 -0400)] 
[1.5.0] Enable multithreading in lib build by default (#2584)

* Update lib Makefile to have new targets

* Update lib/README.md for mt

4 years agoApply flags to libzstd-nomt in libzstd style 2628/head
Stephen Kitt [Fri, 7 May 2021 11:22:53 +0000 (13:22 +0200)] 
Apply flags to libzstd-nomt in libzstd style

... for consistency (this doesn't actually change the build flags used
in practice, currently).

Signed-off-by: Stephen Kitt <steve@sk2.org>
4 years ago[lib] Fix fuzzer timeouts by backing off overflow correction 2627/head
Nick Terrell [Fri, 7 May 2021 04:56:51 +0000 (21:56 -0700)] 
[lib] Fix fuzzer timeouts by backing off overflow correction

Linearly back off the frequency of overflow correction based on the
number of times the `ZSTD_window_t` has been overflow corrected. This
will still allow the fuzzer to quickly find overflow correction bugs,
while also keeping good speed for larger inputs.

Additionally, the `nbOverflowCorrections` variable can be useful for
debugging coredumps, since we can inspect the `ZSTD_CCtx` to see if
overflow correction has happened yet.

I've verified this fixes the timeouts in OSS-Fuzz (176 seconds -> 6
seconds). I've also verified that fuzzers and `fuzzer` and `zstreamtest`
still catch the row-hash overflow correction bug.

4 years agodo not install g++ 2623/head
Yann Collet [Fri, 7 May 2021 04:53:30 +0000 (21:53 -0700)] 
do not install g++

4 years agoMerge branch 'dev' into d_prefetch_refactor
Yann Collet [Fri, 7 May 2021 02:49:26 +0000 (19:49 -0700)] 
Merge branch 'dev' into d_prefetch_refactor

4 years agoMerge pull request #2626 from facebook/codingStyle1
Yann Collet [Fri, 7 May 2021 02:46:05 +0000 (19:46 -0700)] 
Merge pull request #2626 from facebook/codingStyle1

added a paragraph on coding style

4 years agoMerge pull request #2625 from terrelln/ubsan-failure
Nick Terrell [Fri, 7 May 2021 02:22:25 +0000 (19:22 -0700)] 
Merge pull request #2625 from terrelln/ubsan-failure

[lib] Fix UBSAN warning in ZSTD_decompressSequences()

4 years agoadded a paragraph on coding style 2626/head
Yann Collet [Fri, 7 May 2021 01:28:24 +0000 (18:28 -0700)] 
added a paragraph on coding style

4 years agoswitch to clang
Yann Collet [Thu, 6 May 2021 23:07:44 +0000 (16:07 -0700)] 
switch to clang

4 years agoMerge branch 'dev' into fasterCygwin
Yann Collet [Thu, 6 May 2021 23:06:00 +0000 (16:06 -0700)] 
Merge branch 'dev' into fasterCygwin

4 years ago[lib] Fix UBSAN warning in ZSTD_decompressSequences() 2625/head
Nick Terrell [Thu, 6 May 2021 22:30:23 +0000 (15:30 -0700)] 
[lib] Fix UBSAN warning in ZSTD_decompressSequences()

4 years ago[1.5.0] Deprecate some functions (#2582)
sen [Thu, 6 May 2021 21:59:32 +0000 (17:59 -0400)] 
[1.5.0] Deprecate some functions (#2582)

* Add deprecated macro to zstd.h, mark certain functions as deprecated

* Remove ZSTD_compress.c dependencies on deprecated functions

4 years agoMerge pull request #2600 from nickhutchinson/clang-cl
Nick Terrell [Thu, 6 May 2021 19:43:15 +0000 (12:43 -0700)] 
Merge pull request #2600 from nickhutchinson/clang-cl

Fix for excessive compiler warnings when building with clang-cl

4 years agoMerge pull request #2622 from terrelln/zdict-api
Nick Terrell [Thu, 6 May 2021 19:42:56 +0000 (12:42 -0700)] 
Merge pull request #2622 from terrelln/zdict-api

[zdict] Add a FAQ to the top of zdict.h

4 years ago[zdict] Add a FAQ to the top of zdict.h 2622/head
Nick Terrell [Thu, 6 May 2021 02:44:24 +0000 (19:44 -0700)] 
[zdict] Add a FAQ to the top of zdict.h

The FAQ covers the questions asked in Issue #2566. It first covers why
you would want to use a dictionary, then what a dictionary is, and
finally it tells you how to train a dictionary, and clarifies some of
the parameters.

There is definitely more that could be said about some of the advanced
trainers, but this should be a good start.

4 years agoAdd --progress flag (#2595)
sen [Thu, 6 May 2021 18:50:28 +0000 (14:50 -0400)] 
Add --progress flag (#2595)

4 years agoMerge pull request #2620 from facebook/winFilelist
Yann Collet [Thu, 6 May 2021 18:35:16 +0000 (11:35 -0700)] 
Merge pull request #2620 from facebook/winFilelist

fix --filelist compatibility with Windows cr+lf line ending

4 years agoMerge pull request #2618 from felixhandte/single-file-build-mv
Felix Handte [Thu, 6 May 2021 18:09:42 +0000 (14:09 -0400)] 
Merge pull request #2618 from felixhandte/single-file-build-mv

Move Single-File Build Script from `contrib/` to `build/`

4 years agoMerge pull request #2616 from terrelln/deterministic-dict
Nick Terrell [Thu, 6 May 2021 18:09:22 +0000 (11:09 -0700)] 
Merge pull request #2616 from terrelln/deterministic-dict

[lib] Add ZSTD_c_deterministicRefPrefix

4 years agoCMake: fix excessive build warnings when building with clang-cl 2600/head
Nick Hutchinson [Sun, 2 May 2021 13:46:12 +0000 (14:46 +0100)] 
CMake: fix excessive build warnings when building with clang-cl

4 years agoMerge pull request #2621 from terrelln/regression-test
Nick Terrell [Thu, 6 May 2021 17:32:07 +0000 (10:32 -0700)] 
Merge pull request #2621 from terrelln/regression-test

[test][regression] Update results.csv

4 years agoattempt to make Appveyor's Cygwin test faster
Yann Collet [Thu, 6 May 2021 03:43:04 +0000 (20:43 -0700)] 
attempt to make Appveyor's Cygwin test faster

Cygwin is the longest Appveyor test
Appveyor is typically the CI which finish last

4 years agoAdd seekable roundtrip fuzzer (#2617)
sen [Thu, 6 May 2021 14:08:21 +0000 (10:08 -0400)] 
Add seekable roundtrip fuzzer (#2617)

4 years agoMerge pull request #2619 from facebook/winbench
Yann Collet [Thu, 6 May 2021 03:34:31 +0000 (20:34 -0700)] 
Merge pull request #2619 from facebook/winbench

improved benchmark experience on Windows

4 years agoMerge pull request #2615 from terrelln/stack-space
Nick Terrell [Thu, 6 May 2021 02:43:39 +0000 (19:43 -0700)] 
Merge pull request #2615 from terrelln/stack-space

[lib] Move some ZSTD_CCtx_params off the stack

4 years ago[test][regression] Update results.csv 2621/head
Nick Terrell [Thu, 6 May 2021 02:00:36 +0000 (19:00 -0700)] 
[test][regression] Update results.csv

The LDM change in PR #2602 changed the algorithm slightly.
The compressed size is generally positive, and when it is worse,
it is only a few bytes.

4 years ago[lib] Add ZSTD_c_deterministicRefPrefix 2616/head
Nick Terrell [Wed, 5 May 2021 19:18:47 +0000 (12:18 -0700)] 
[lib] Add ZSTD_c_deterministicRefPrefix

This flag forces zstd to always load the prefix in ext-dict mode, even
if it happens to be contiguous, to force determinism. It also applies to
dictionaries that are re-processed.

A determinism test case is also added, which fails without
`ZSTD_c_deterministicRefPrefix` and passes with it set.

Question: Should this be the default behavior? It isn't in this PR.

4 years agofix --filelist compatibility with Windows cr+lf line ending 2620/head
Yann Collet [Thu, 6 May 2021 01:01:55 +0000 (18:01 -0700)] 
fix --filelist compatibility with Windows cr+lf line ending

4 years agoMerge pull request #2614 from facebook/dlong8
Yann Collet [Wed, 5 May 2021 23:55:40 +0000 (16:55 -0700)] 
Merge pull request #2614 from facebook/dlong8

faster speed for decompressSequencesLong

4 years agoimproved benchmark experience on Windows 2619/head
Yann Collet [Wed, 5 May 2021 23:52:21 +0000 (16:52 -0700)] 
improved benchmark experience on Windows

benchmark results are not progressively displayed on Windows terminal.
For long benchmark sessions, nothing is displayed,
until the end, where everything is flushed.

Force display to be flushed after each update.
Updates happen roughtly every second, or even less,
so it's not a substantial workload.

4 years agoRewrite References to Location 2618/head
W. Felix Handte [Wed, 5 May 2021 22:03:48 +0000 (18:03 -0400)] 
Rewrite References to Location

4 years agoMerge pull request #2525 from felixhandte/fix-file-permissions-again
Felix Handte [Wed, 5 May 2021 21:59:13 +0000 (17:59 -0400)] 
Merge pull request #2525 from felixhandte/fix-file-permissions-again

Improve Setting Permissions of Created Files

4 years ago[tests] Set `DEBUGLEVEL=2` by default 2615/head
Nick Terrell [Wed, 5 May 2021 20:25:28 +0000 (13:25 -0700)] 
[tests] Set `DEBUGLEVEL=2` by default

This allows us to quickly check for compile errors in debug log
messages, which are compiled out when `DEBUGLEVEL < 2`.

4 years ago[lib] Move some ZSTD_CCtx_params off the stack
Nick Terrell [Wed, 5 May 2021 19:41:13 +0000 (12:41 -0700)] 
[lib] Move some ZSTD_CCtx_params off the stack

* Take `params` by const reference in `ZSTD_resetCCtx_internal()`.
* Add `simpleApiParams` to the CCtx and use them in the simple API
  functions, instead of creating those parameters on the stack.

I think this is a good direction to move in, because we shouldn't need
to worry about adding parameters to `ZSTD_CCtx_params`, since it should
always be on the heap (unless they become absoultely gigantic).

Some `ZSTD_CCtx_params` are still on the stack in the CDict functions,
but I've left them for now, because it was a little more complex, and we
don't use those functions in stack-constrained currently.

4 years agoMove Single-File Build Script from `contrib/` to `build/`
W. Felix Handte [Wed, 5 May 2021 20:07:51 +0000 (16:07 -0400)] 
Move Single-File Build Script from `contrib/` to `build/`

4 years agoAttempt to Fix Windows Build Error 2525/head
W. Felix Handte [Wed, 5 May 2021 17:13:56 +0000 (13:13 -0400)] 
Attempt to Fix Windows Build Error