]>
git.ipfire.org Git - thirdparty/zstd.git/log
Scott Baker [Sat, 5 Jun 2021 17:06:40 +0000 (10:06 -0700)]
Use unsigned long instead to help with some tests
Scott Baker [Sat, 5 Jun 2021 15:45:35 +0000 (08:45 -0700)]
human_size() should use size_t
Scott Baker [Sat, 5 Jun 2021 14:41:26 +0000 (07:41 -0700)]
Convert tabs to spaces
Scott Baker [Sat, 5 Jun 2021 05:21:00 +0000 (22:21 -0700)]
Use human_size() on the "multiple files compressed" output also
Scott Baker [Sat, 5 Jun 2021 05:09:40 +0000 (22:09 -0700)]
Use human_size() in the benchmark output also
Scott Baker [Sat, 5 Jun 2021 05:03:33 +0000 (22:03 -0700)]
Move the variable declarations to the top
Scott Baker [Sat, 5 Jun 2021 05:02:32 +0000 (22:02 -0700)]
Make the variable types match
Scott Baker [Sat, 5 Jun 2021 04:44:40 +0000 (21:44 -0700)]
Convert names to CamelCase
Scott Baker [Sat, 5 Jun 2021 03:28:55 +0000 (20:28 -0700)]
Put the human_size() function in util.c
Scott Baker [Sat, 5 Jun 2021 03:25:31 +0000 (20:25 -0700)]
Make the CLI output the file sizes in human readable format
sen [Thu, 10 Jun 2021 13:39:17 +0000 (16:39 +0300)]
Merge pull request #2697 from senhuang42/entropy_repeat_fix
[bug] Fix entropy repeat mode bug
Yann Collet [Wed, 9 Jun 2021 20:03:28 +0000 (13:03 -0700)]
Merge pull request #2704 from facebook/revert-2703-bootcamp
Revert "Add support for --long-param flag, fix #2104"
binhdvo [Wed, 9 Jun 2021 19:35:43 +0000 (15:35 -0400)]
Revert "Add support for --long-param flag, fix #2104"
binhdvo [Wed, 9 Jun 2021 19:03:38 +0000 (15:03 -0400)]
Merge pull request #2703 from binhdvo/bootcamp
Add support for --long-param flag, fix #2104
Binh Vo [Wed, 9 Jun 2021 18:00:29 +0000 (14:00 -0400)]
Add support for --long-param flag
Yann Collet [Wed, 9 Jun 2021 16:56:01 +0000 (09:56 -0700)]
Merge pull request #2698 from binhdvo/bootcamp
Fix --progress flag to properly control progress display and default …
sen [Wed, 9 Jun 2021 15:46:52 +0000 (18:46 +0300)]
Merge pull request #2678 from senhuang42/big_endian_no_intrinsics_fuzztest
Fuzzer test with no intrinsics on S390x (big endian)
sen [Wed, 9 Jun 2021 07:41:35 +0000 (10:41 +0300)]
Merge pull request #2700 from gauthamkrishna9991/update_readme_travis_link
Update README for Travis CI Badge
Goutham Krishna [Wed, 9 Jun 2021 07:08:22 +0000 (12:38 +0530)]
Update README for Travis CI Badge
### Updating Badge link to the newTravis CI link.
- Update badge root to `api.travis-ci.com` (new)
from `travis-ci.org` (old), which was migrated.
aqrit [Wed, 9 Jun 2021 05:50:25 +0000 (01:50 -0400)]
Flatten ZSTD_row_getMatchMask (#2681)
* Flatten ZSTD_row_getMatchMask
* Remove the SIMD abstraction layer.
* Add big endian support.
* Align `hashTags` within `tagRow` to a 16-byte boundary.
* Switch SSE2 to use aligned reads.
* Optimize scalar path using SWAR.
* Optimize neon path for `n == 32`
* Work around minor clang issue for NEON (https://bugs.llvm.org/show_bug.cgi?id=49577)
* replace memcpy with MEM_readST
* silence alignment warnings
* fix neon casts
* Update zstd_lazy.c
* unify simd preprocessor detection (#3)
* remove duplicate asserts
* tweak rotates
* improve endian detection
* add cast
there is a fun little catch-22 with gcc: result from pmovmskb has to be cast to uint32_t to avoid a zero-extension
but must be uint16_t to get gcc to generate a rotate instruction..
* more casts
* fix casts
better work-around for the (bogus) warning: unary minus on unsigned
Binh Vo [Mon, 7 Jun 2021 15:50:22 +0000 (11:50 -0400)]
Fix --progress flag to properly control progress display and default progress display on when using -v
Felix Handte [Mon, 7 Jun 2021 17:04:19 +0000 (13:04 -0400)]
Merge pull request #2654 from wolfpld/dev
Initialize "potentially uninitialized" pointers.
sen [Mon, 7 Jun 2021 09:44:31 +0000 (12:44 +0300)]
Merge pull request #2691 from senhuang42/per_pr_regressiontest
Make regression test run on every PR
Sen Huang [Mon, 7 Jun 2021 07:44:23 +0000 (00:44 -0700)]
Add no intrinsics fuzztest, rowhash compression size test, and S390X to travis
senhuang42 [Tue, 1 Jun 2021 02:59:01 +0000 (05:59 +0300)]
Make regression test run on every PR
Sen Huang [Mon, 7 Jun 2021 07:32:03 +0000 (00:32 -0700)]
Fix entropy repeat mode bug
Yann Collet [Thu, 3 Jun 2021 19:41:23 +0000 (12:41 -0700)]
Merge pull request #2693 from binhdvo/bootcamp
Add documentation for --patch-from
Binh Vo [Thu, 3 Jun 2021 15:12:27 +0000 (11:12 -0400)]
Add documentation for --patch-from
sen [Thu, 3 Jun 2021 07:10:27 +0000 (10:10 +0300)]
Merge pull request #2684 from senhuang42/old_api_ldm_blocksplit
Add ldm and block splitter auto-enable to old api
sen [Thu, 27 May 2021 17:50:26 +0000 (13:50 -0400)]
Merge pull request #2686 from senhuang42/arm64fuzztest
Add arm64 fuzz test to travis
senhuang42 [Wed, 26 May 2021 18:51:04 +0000 (14:51 -0400)]
Add arm64 fuzz test to travis
sen [Wed, 26 May 2021 18:14:43 +0000 (14:14 -0400)]
Merge pull request #2682 from senhuang42/armbuild_fixtest
Make GH Actions CI tests run apt-get update before apt-get install
senhuang42 [Wed, 26 May 2021 17:38:36 +0000 (13:38 -0400)]
Update apt-get prior to tests that install packages
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.
senhuang42 [Mon, 24 May 2021 16:57:56 +0000 (12:57 -0400)]
Add ldm and block splitter auto-enable to old api
senhuang42 [Tue, 18 May 2021 15:54:19 +0000 (11:54 -0400)]
Migrate travis CI tests
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
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
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.
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.
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
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
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
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
Yann Collet [Mon, 17 May 2021 17:15:55 +0000 (10:15 -0700)]
Merge pull request #2660 from facebook/diaz
improve tar compatibility
senhuang42 [Mon, 17 May 2021 16:54:34 +0000 (12:54 -0400)]
[ci] Add ARM tests back into CI
senhuang42 [Mon, 17 May 2021 17:04:55 +0000 (13:04 -0400)]
[ci] Use *-latest for platforms to test on
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
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
Yann Collet [Sun, 16 May 2021 06:04:46 +0000 (23:04 -0700)]
minor mention of RFC8878
more recent update
Dan Nelson [Sat, 15 May 2021 15:20:37 +0000 (10:20 -0500)]
ZSTD_VecMask_next: fix incorrect variable name in fallback code path
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.
TrianglesPCT [Sat, 15 May 2021 01:18:12 +0000 (19:18 -0600)]
Add files via upload
AVX2
TrianglesPCT [Sat, 15 May 2021 01:11:28 +0000 (19:11 -0600)]
Update zstd_lazy.c
add space
TrianglesPCT [Sat, 15 May 2021 01:10:24 +0000 (19:10 -0600)]
Update zstd_lazy.c
Remove the AVX2 part
TrianglesPCT [Sat, 15 May 2021 01:02:34 +0000 (19:02 -0600)]
Update zstd_lazy.c
Switch to other comment style
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
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
TrianglesPCT [Fri, 14 May 2021 22:53:19 +0000 (16:53 -0600)]
Update zstd_lazy.c
TrianglesPCT [Fri, 14 May 2021 22:47:24 +0000 (16:47 -0600)]
Update zstd_lazy.c
use 8bit
Bartosz Taudul [Fri, 14 May 2021 22:40:49 +0000 (00:40 +0200)]
Initialize "potentially uninitialized" pointers.
TrianglesPCT [Fri, 14 May 2021 22:40:32 +0000 (16:40 -0600)]
Add files via upload
TrianglesPCT [Fri, 14 May 2021 22:33:07 +0000 (16:33 -0600)]
Add files via upload
msvc
TrianglesPCT [Fri, 14 May 2021 22:32:04 +0000 (16:32 -0600)]
Add files via upload
msvc suport
avx2 path
W. Felix Handte [Fri, 14 May 2021 15:59:50 +0000 (11:59 -0400)]
Fix CircleCI Config to Fully Remove `publish-github-release` Job
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.
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.
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.
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.
sen [Thu, 13 May 2021 23:33:48 +0000 (19:33 -0400)]
Remove deprecate flag for vcx (#2647)
sen [Thu, 13 May 2021 18:41:21 +0000 (14:41 -0400)]
Add source level deprecation warning disabling to certain tests/utils (#2645)
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
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.
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
sen [Wed, 12 May 2021 20:46:05 +0000 (16:46 -0400)]
Update CHANGELOG to include patch from fix (#2642)
Yann Collet [Wed, 12 May 2021 20:12:30 +0000 (13:12 -0700)]
Merge branch 'dev' of github.com:facebook/zstd into dev
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"
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.
sen [Wed, 12 May 2021 20:09:48 +0000 (16:09 -0400)]
Remove const data members in threadpooltest payload (#2639) (#2640)
sen [Wed, 12 May 2021 16:56:57 +0000 (12:56 -0400)]
Remove const data members in threadpooltest payload (#2639)
sen [Wed, 12 May 2021 15:31:31 +0000 (11:31 -0400)]
Add mt lib build to CL, shuffle around bugs section (#2638)
Yann Collet [Tue, 11 May 2021 22:17:31 +0000 (15:17 -0700)]
updated generated man pages for v1.5.0 (#2635)
sen [Tue, 11 May 2021 20:32:09 +0000 (16:32 -0400)]
Bump version to 1.5.0, rebuild documentation (#2634)
Yann Collet [Tue, 11 May 2021 18:17:52 +0000 (11:17 -0700)]
Merge pull request #2633 from bmwiedemann/issue2632
Avoid SIGBUS on armv6
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
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
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
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+.
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
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.
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
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.
sen [Fri, 7 May 2021 18:03:19 +0000 (14:03 -0400)]
Add PHONY targets to makefiles (#2629)
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
sen [Fri, 7 May 2021 17:26:56 +0000 (13:26 -0400)]
Assert no divison by 0, correct superblocks 0 sequences case (#2592)
Yann Collet [Fri, 7 May 2021 16:32:53 +0000 (09:32 -0700)]
Merge branch 'dev' into d_prefetch_refactor
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
sen [Fri, 7 May 2021 15:13:44 +0000 (11:13 -0400)]
Add threadPool unit tests to fuzzer.c (#2604)
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
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>