]> git.ipfire.org Git - thirdparty/zstd.git/log
thirdparty/zstd.git
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 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 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 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

4 years agoAlso Pass Mode Bits in on Windows
W. Felix Handte [Tue, 6 Apr 2021 15:29:28 +0000 (11:29 -0400)] 
Also Pass Mode Bits in on Windows

I think in some unix emulation environments on Windows, (cygwin?) mode bits
are somehow respected. So we might as well pass them in. Can't hurt.

4 years ago`rm -f` in playTests.sh
W. Felix Handte [Tue, 6 Apr 2021 15:27:27 +0000 (11:27 -0400)] 
`rm -f` in playTests.sh

4 years agoFix Build for Windows
W. Felix Handte [Tue, 9 Mar 2021 06:24:11 +0000 (01:24 -0500)] 
Fix Build for Windows

4 years agoAttempt to Fix `stat` Format for BSDs
W. Felix Handte [Mon, 8 Mar 2021 23:03:55 +0000 (18:03 -0500)] 
Attempt to Fix `stat` Format for BSDs

4 years agoDon't Block Removing File on Being Able to Read It
W. Felix Handte [Mon, 8 Mar 2021 22:49:20 +0000 (17:49 -0500)] 
Don't Block Removing File on Being Able to Read It

`open()`'s mode bits are only applied to files that are created by the call.
If the output file already exists, but is not readable, the `fopen()` would
fail, preventing us from removing it, which would mean that the file would
not end up with the correct permission bits.

It's not clear to me why the `fopen()` is there at all. `UTIL_isRegularFile()`
should be sufficient, AFAICT.

4 years agoCreate Files with Desired Permissions; Avoid chmod(); Remove UTIL_chmod()
W. Felix Handte [Mon, 8 Mar 2021 22:39:14 +0000 (17:39 -0500)] 
Create Files with Desired Permissions; Avoid chmod(); Remove UTIL_chmod()

4 years agoAdd Tests Checking File Permissions of Created Files
W. Felix Handte [Fri, 5 Mar 2021 23:04:45 +0000 (18:04 -0500)] 
Add Tests Checking File Permissions of Created Files

4 years agoMerge pull request #2613 from felixhandte/allow-block-device
Felix Handte [Wed, 5 May 2021 17:06:32 +0000 (13:06 -0400)] 
Merge pull request #2613 from felixhandte/allow-block-device

Allow Reading from Block Devices with `--force`

4 years agodeeper prefetching pipeline for decompressSequencesLong 2614/head
Yann Collet [Wed, 5 May 2021 17:04:03 +0000 (10:04 -0700)] 
deeper prefetching pipeline for decompressSequencesLong

pipeline increased from 4 to 8 slots.
This change substantially improves decompression speed when there are long distance offsets.
example with enwik9 compressed at level 22 :
gcc-9 : 947 -> 1039 MB/s
clang-10: 884 -> 946 MB/s

I also checked the "cold dictionary" scenario,
and found a smaller benefit, around ~2%
(measurements are more noisy for this scenario).

4 years agoupdated documentation regarding minimum job size
Yann Collet [Wed, 5 May 2021 16:03:11 +0000 (09:03 -0700)] 
updated documentation regarding minimum job size

4 years agoseekable decompression fixes (#2594)
Azat Khuzhin [Wed, 5 May 2021 14:05:41 +0000 (17:05 +0300)] 
seekable decompression fixes (#2594)

* seekable_format: fix from-file reading (not in-memory)

It tries to check the buffer boundary, but there is no buffer for
from-file reading.

* seekable_decompression: break when ZSTD_seekable_decompress() returns zero

* seekable_decompression_mem: break when ZSTD_seekable_decompress() returns zero

* seekable_format: cap the offset+len up to the last dOffset

This will allow to read the whole file w/o gotting corruption error if
the offset is more then the data left in file, i.e.:

    $ ./seekable_compression seekable_compression.c 8192 | head
    $ zstd -cdq seekable_compression.c.zst | wc -c
    4737

Before this patch:

    $ ./seekable_decompression seekable_compression.c.zst 0 10000000 | wc -c
    ZSTD_seekable_decompress() error : Corrupted block detected
    0

After:

    $ ./seekable_decompression seekable_compression.c.zst 0 10000000 | wc -c
    4737

4 years agoMerge pull request #2611 from facebook/smallerJobs
Yann Collet [Wed, 5 May 2021 07:03:29 +0000 (00:03 -0700)] 
Merge pull request #2611 from facebook/smallerJobs

allow jobSize to be as low as 512 KB

4 years agoMerge pull request #2602 from terrelln/ldm-opt
Nick Terrell [Wed, 5 May 2021 06:13:09 +0000 (23:13 -0700)] 
Merge pull request #2602 from terrelln/ldm-opt

[LDM] Speed optimization on repetitive data

4 years agoMerge pull request #2610 from senhuang42/lazy_underflow_fix
Nick Terrell [Wed, 5 May 2021 06:10:23 +0000 (23:10 -0700)] 
Merge pull request #2610 from senhuang42/lazy_underflow_fix

Fix bad integer wraparound in repcode index for fast, dfast, lazy

4 years agoMerge pull request #2607 from terrelln/deterministic-dict
Nick Terrell [Wed, 5 May 2021 05:48:48 +0000 (22:48 -0700)] 
Merge pull request #2607 from terrelln/deterministic-dict

[lib] Always load the dictionary in one go

4 years ago[test] Add large dict/data --patch-from test 2607/head
Nick Terrell [Wed, 5 May 2021 00:09:32 +0000 (17:09 -0700)] 
[test] Add large dict/data --patch-from test

Dictionary size must be > `ZSTD_CHUNKSIZE_MAX`.

4 years agoFix incorrect usages of repIndex across all strategies 2610/head
Sen Huang [Tue, 4 May 2021 16:50:44 +0000 (09:50 -0700)] 
Fix incorrect usages of repIndex across all strategies

4 years ago[lib] Always load the dictionary in one go
Nick Terrell [Tue, 4 May 2021 05:33:22 +0000 (22:33 -0700)] 
[lib] Always load the dictionary in one go

Dictionaries larger than `ZSTD_CHUNKSIZE_MAX` used to have to be loaded
in multiple segments. Instead, when we detect large dictionaries, ensure
that we reset the context's indicies. Then, for dictionaries larger than
`ZSTD_CURRENT_MAX - 1`, only load the suffix of the dictionary. Finally,
enable DDS for large dictionaries, since we no longer load in multiple
segments.

This simplifes the dictionary loading code, and reduces opportunities
for non-determinism to slip in.

4 years agofix rsyncable mode 2611/head
Yann Collet [Tue, 4 May 2021 22:59:27 +0000 (15:59 -0700)] 
fix rsyncable mode

4 years agoAdd Test Case (Behind Flag); Run in GitHub Action 2613/head
W. Felix Handte [Tue, 4 May 2021 21:26:05 +0000 (17:26 -0400)] 
Add Test Case (Behind Flag); Run in GitHub Action

4 years agoMerge pull request #2612 from terrelln/minor-fix
Nick Terrell [Tue, 4 May 2021 22:02:00 +0000 (15:02 -0700)] 
Merge pull request #2612 from terrelln/minor-fix

[easy] Rewrite rowHashLog computation

4 years agoAllow Reading from Block Devices with `--force`
W. Felix Handte [Tue, 4 May 2021 20:24:46 +0000 (16:24 -0400)] 
Allow Reading from Block Devices with `--force`

4 years agoMerge pull request #2608 from facebook/docMinVer
Yann Collet [Tue, 4 May 2021 19:10:52 +0000 (12:10 -0700)] 
Merge pull request #2608 from facebook/docMinVer

Documented minimum version numbers

4 years ago[easy] Rewrite rowHashLog computation 2612/head
Nick Terrell [Tue, 4 May 2021 18:43:20 +0000 (11:43 -0700)] 
[easy] Rewrite rowHashLog computation

`ZSTD_highbit32(1u << x) == x` when it isn't undefined behavior.

4 years agoMerge pull request #2597 from terrelln/public-headers
Nick Terrell [Tue, 4 May 2021 18:28:41 +0000 (11:28 -0700)] 
Merge pull request #2597 from terrelln/public-headers

[1.5.0] Move `zstd_errors.h` and `zdict.h` to `lib/` root

4 years agoMerge pull request #2609 from felixhandte/md5sum-darwin
Felix Handte [Tue, 4 May 2021 18:22:54 +0000 (14:22 -0400)] 
Merge pull request #2609 from felixhandte/md5sum-darwin

Detect Presence of `md5` on Darwin

4 years agoallow jobSize to be as low as 512 KB
Yann Collet [Tue, 4 May 2021 17:54:34 +0000 (10:54 -0700)] 
allow jobSize to be as low as 512 KB

previous lower limit was 1 MB.

Note : by default, the lowest job size is 2 MB, achieved at level 1.
Even lower job sizes can be achieved by manipulating this value directly,
or manually modifying window sizes to lower amounts.

Updated unit test to ensure that this new limit works fine
(test would fail with previous 1 MB limit).

4 years ago[LDM] Speed optimization on repetitive data 2602/head
Nick Terrell [Mon, 3 May 2021 21:32:15 +0000 (14:32 -0700)] 
[LDM] Speed optimization on repetitive data

LDM does especially poorly on repetitive data when that data's hash happens
to have `(hash & stopMask) == 0`. Either because the `stopMask == 0` or
random chance. Optimize this case by skipping over repetitive patterns.
The detection is very simplistic, but should catch most of the offending
cases.

```
head -c 1G /dev/zero | perf stat -- ./zstd -1 -o /dev/null -v --zstd=ldmHashRateLog=1 --long
      21.187881087 seconds time elapsed

head -c 1G /dev/zero | perf stat -- ./zstd -1 -o /dev/null -v --zstd=ldmHashRateLog=1 --long
       1.149707921 seconds time elapsed

```

4 years agoDetect Presence of `md5` on Darwin 2609/head
W. Felix Handte [Tue, 4 May 2021 16:30:39 +0000 (12:30 -0400)] 
Detect Presence of `md5` on Darwin

This fixes #2568.

4 years agoDocumented minimum version numbers 2608/head
Yann Collet [Tue, 4 May 2021 16:05:22 +0000 (09:05 -0700)] 
Documented minimum version numbers

Any stable API entry point introduced after v1.0
should be documented with its minimum version number.

Since PR fixes this requirement
updating mostly new entry points since v1.4.0
and newly introduced ones for future v1.5.0.

4 years agoMerge pull request #2606 from terrelln/test-memory
Nick Terrell [Tue, 4 May 2021 04:16:28 +0000 (21:16 -0700)] 
Merge pull request #2606 from terrelln/test-memory

[tests] Reduce memory usage of MT CLI tests

4 years agoMerge pull request #2603 from terrelln/reduce-indices-fuzzer
Nick Terrell [Tue, 4 May 2021 02:24:55 +0000 (19:24 -0700)] 
Merge pull request #2603 from terrelln/reduce-indices-fuzzer

Bug fix & run overflow correction much more frequently in tests

4 years ago[tests] Reduce memory usage of MT CLI tests 2606/head
Nick Terrell [Mon, 3 May 2021 23:29:11 +0000 (16:29 -0700)] 
[tests] Reduce memory usage of MT CLI tests

Switch from `-T0` to the default `-T1` which significantly reduces
memory usage for level 19 when there are many cores. This fixes
32-bit issues of running out of address space.

Fixes #2603.

4 years agoBug fix & run overflow correction much more frequently in tests 2603/head
Nick Terrell [Mon, 3 May 2021 21:37:06 +0000 (14:37 -0700)] 
Bug fix & run overflow correction much more frequently in tests

* Fix overflow correction when `windowLog < cycleLog`. Previously, we
  got the correction wrong in this case, and our chain tables and binary
  trees would be corrupted. Now, we work as long as `maxDist` is a power
  of two, by adding `MAX(maxDist, cycleSize)` to our indices.
* When `ZSTD_WINDOW_OVERFLOW_CORRECT_FREQUENTLY` is defined to non-zero
  run overflow correction as frequently as allowed without impacting
  compression ratio.
* Enable `ZSTD_WINDOW_OVERFLOW_CORRECT_FREQUENTLY` in `fuzzer` and
  `zstreamtest` as well as all the OSS-Fuzz fuzzers. This has a 5-10%
  speed penalty at most, which seems reasonable.

4 years agoMerge pull request #2598 from senhuang42/reduce_index_rowhash_fix
sen [Mon, 3 May 2021 21:34:39 +0000 (17:34 -0400)] 
Merge pull request #2598 from senhuang42/reduce_index_rowhash_fix

Fix chaintable check to include rowhash in ZSTD_reduceIndex()

4 years agoMerge pull request #2581 from senhuang42/lcm_stable
sen [Mon, 3 May 2021 15:59:19 +0000 (11:59 -0400)] 
Merge pull request #2581 from senhuang42/lcm_stable

[1.5.0] Promote ZSTD_c_literalCompressionMode to stable params

4 years agoMerge pull request #2580 from senhuang42/defaultclevel_to_stable
sen [Mon, 3 May 2021 15:59:05 +0000 (11:59 -0400)] 
Merge pull request #2580 from senhuang42/defaultclevel_to_stable

[1.5.0] Promote ZSTD_defaultCLevel() into stable API

4 years agoAdd clang-cl build jobs to appveyor.yml
Nick Hutchinson [Sun, 2 May 2021 12:29:13 +0000 (13:29 +0100)] 
Add clang-cl build jobs to appveyor.yml

4 years agoFix chaintable check to include rowhash in ZSTD_reduceIndex() 2598/head
senhuang42 [Fri, 30 Apr 2021 23:52:04 +0000 (19:52 -0400)] 
Fix chaintable check to include rowhash in ZSTD_reduceIndex()

4 years ago[1.5.0] Move `zstd_errors.h` and `zdict.h` to `lib/` root 2597/head
Nick Terrell [Fri, 30 Apr 2021 22:02:12 +0000 (15:02 -0700)] 
[1.5.0] Move `zstd_errors.h` and `zdict.h` to `lib/` root

`zstd_errors.h` and `zdict.h` are public headers, so they deserve to be
in the root `lib/` directory with `zstd.h`, not mixed in with our private
headers.

4 years agoMerge pull request #2593 from terrelln/linux-comments
Nick Terrell [Fri, 30 Apr 2021 00:15:40 +0000 (17:15 -0700)] 
Merge pull request #2593 from terrelln/linux-comments

[linux-kernel] Replace kernel-style comments

4 years ago[linux-kernel] Replace kernel-style comments 2593/head
Nick Terrell [Thu, 29 Apr 2021 22:50:23 +0000 (15:50 -0700)] 
[linux-kernel] Replace kernel-style comments

Replace kernel-style comments with regular comments.

E.g.

```
/** Before */

/* After */

/**
 * Before
 */

/*
 * After
 */

/***********************************
 * Before
 ***********************************/

/* *********************************
 * After
 ***********************************/
```

4 years agoMerge pull request #2589 from terrelln/tracing
Nick Terrell [Tue, 27 Apr 2021 17:39:12 +0000 (10:39 -0700)] 
Merge pull request #2589 from terrelln/tracing

[trace] Remove default definitions of weak symbols

4 years agoMerge pull request #2588 from senhuang42/update_regressiontest
sen [Tue, 27 Apr 2021 16:40:07 +0000 (12:40 -0400)] 
Merge pull request #2588 from senhuang42/update_regressiontest

[regressiontest] Update results.csv

4 years ago[trace] Remove default definitions of weak symbols 2589/head
Nick Terrell [Mon, 26 Apr 2021 23:05:39 +0000 (16:05 -0700)] 
[trace] Remove default definitions of weak symbols

Instead of providing a default no-op implementation, check the symbols
for `NULL` before accessing them. Providing a default implementation
doesn't reliably work with dynamic linking. Depending on link order the
default implementations may not be overridden. By skipping the default
implementation, all link order issues are resolved. If the symbols
aren't provided the weak function will be `NULL`.

4 years agoUpdate results.csv 2588/head
senhuang42 [Mon, 26 Apr 2021 19:55:23 +0000 (15:55 -0400)] 
Update results.csv

4 years agoMerge pull request #2579 from senhuang42/getcdictID_to_stable
sen [Mon, 26 Apr 2021 13:55:43 +0000 (09:55 -0400)] 
Merge pull request #2579 from senhuang42/getcdictID_to_stable

[1.5.0] Promote ZSTD_getDictID_fromCDict() into stable API

4 years agoAdd literalCompressionMode to stable cParams 2581/head
Sen Huang [Fri, 16 Apr 2021 17:10:26 +0000 (10:10 -0700)] 
Add literalCompressionMode to stable cParams

4 years agoMerge pull request #2586 from senhuang42/dds_fuzz
sen [Sat, 24 Apr 2021 16:39:16 +0000 (12:39 -0400)] 
Merge pull request #2586 from senhuang42/dds_fuzz

Add DDS to oss fuzzer

4 years agoApply DDS adjustments to avoid assert failures 2586/head
felixhandte [Fri, 23 Apr 2021 20:34:21 +0000 (16:34 -0400)] 
Apply DDS adjustments to avoid assert failures

4 years agoAdd DDS to oss fuzzer
senhuang42 [Thu, 22 Apr 2021 22:21:43 +0000 (18:21 -0400)] 
Add DDS to oss fuzzer

4 years agoMerge pull request #2583 from senhuang42/remove_zbuff
sen [Tue, 20 Apr 2021 21:05:32 +0000 (17:05 -0400)] 
Merge pull request #2583 from senhuang42/remove_zbuff

[1.5.0] Remove ZBUFF

4 years agoRemove ZBUFF tests 2583/head
senhuang42 [Mon, 19 Apr 2021 21:12:51 +0000 (17:12 -0400)] 
Remove ZBUFF tests

4 years agoRemove building of ZBUFF/deprecated folder by default
senhuang42 [Mon, 19 Apr 2021 21:12:00 +0000 (17:12 -0400)] 
Remove building of ZBUFF/deprecated folder by default

4 years agoMoved ZSTD_defaultCLevel() into stable API 2580/head
Sen Huang [Fri, 16 Apr 2021 16:58:42 +0000 (09:58 -0700)] 
Moved ZSTD_defaultCLevel() into stable API

4 years agoMoved ZSTD_getDictID_fromCDict() into stable API 2579/head
Sen Huang [Fri, 16 Apr 2021 16:52:36 +0000 (09:52 -0700)] 
Moved ZSTD_getDictID_fromCDict() into stable API

4 years agoMerge pull request #2574 from senhuang42/repcode_mismatch_detector_fix
sen [Tue, 13 Apr 2021 03:27:43 +0000 (23:27 -0400)] 
Merge pull request #2574 from senhuang42/repcode_mismatch_detector_fix

Correct the block splitter mismatched repcodes detection.

4 years agoMerge pull request #2572 from senhuang42/row_hash_hashcache_one_off_error_fix
sen [Mon, 12 Apr 2021 19:38:53 +0000 (15:38 -0400)] 
Merge pull request #2572 from senhuang42/row_hash_hashcache_one_off_error_fix

Adjust nb elements to prefetch in ZSTD_row_fillHashCache()

4 years agoAdjust nb elements to prefetch in ZSTD_row_fillHashCache() 2572/head
Sen Huang [Fri, 9 Apr 2021 02:54:19 +0000 (19:54 -0700)] 
Adjust nb elements to prefetch in ZSTD_row_fillHashCache()

4 years agoCorrect the detection of mismatched repcodes 2574/head
Sen Huang [Fri, 9 Apr 2021 15:01:54 +0000 (08:01 -0700)] 
Correct the detection of mismatched repcodes

4 years agoMerge pull request #2494 from senhuang42/row_hash2
sen [Thu, 8 Apr 2021 14:55:14 +0000 (10:55 -0400)] 
Merge pull request #2494 from senhuang42/row_hash2

SIMD Row Based Matchfinder ðŸš€

4 years agoUpdate results.csv, add Row hash to regression test 2494/head
Sen Huang [Fri, 2 Apr 2021 15:07:10 +0000 (08:07 -0700)] 
Update results.csv, add Row hash to regression test

4 years agoAdd and integrate lazy row hash strategy
Nick Terrell [Tue, 3 Nov 2020 01:52:29 +0000 (17:52 -0800)] 
Add and integrate lazy row hash strategy

4 years agoMove clevel override to after initLocalDict() (#2571)
sen [Wed, 7 Apr 2021 01:05:37 +0000 (21:05 -0400)] 
Move clevel override to after initLocalDict() (#2571)

4 years agoMaintain two repcode histories for block splitting, replace invalid repcodes (#2569)
sen [Tue, 6 Apr 2021 21:25:55 +0000 (17:25 -0400)] 
Maintain two repcode histories for block splitting, replace invalid repcodes (#2569)

4 years agoFix dictionary force reloading clevel selection (#2570)
sen [Tue, 6 Apr 2021 19:35:09 +0000 (15:35 -0400)] 
Fix dictionary force reloading clevel selection (#2570)

* Move cdict clevel override to before localdict init

* Update results.csv after dict load changes

4 years agoMerge pull request #2541 from ihsinme/patch-1
Nick Terrell [Fri, 2 Apr 2021 20:01:09 +0000 (13:01 -0700)] 
Merge pull request #2541 from ihsinme/patch-1

simple fix for using bit operator.

4 years agoStop complaining about hash tool not found
Niclas Rosenvik [Sun, 28 Mar 2021 12:36:13 +0000 (14:36 +0200)] 
Stop complaining about hash tool not found

If build_dir is set the zstd build complains about md5sum not being found.
Fix this by checking if build_dir is set before checking and using the hash tool
just like in lib/Makefile .

4 years ago[cwksp] Align all allocated "tables" and "aligneds" to 64 bytes (#2546)
sen [Fri, 2 Apr 2021 00:07:19 +0000 (20:07 -0400)] 
[cwksp] Align all allocated "tables" and "aligneds" to 64 bytes (#2546)

* Perform 64-byte alignment of wksp tables and aligneds internally

* Clean up cwskp_finalize() function to only do two allocs

* Refactor aligned/buffer reservation code, remove ASAN req for alignment reservations

* Change from allocating 128 bytes always to allocating only buffer space as needed for tables/aligned

* Back out aligned/table reservation order restriction

* Add stricter bounds for new/resized wksps, fix comment in zstd_cwksp.h

4 years agoFix repcode-related OSS-fuzz issues in block splitter (#2560)
sen [Wed, 31 Mar 2021 19:14:59 +0000 (15:14 -0400)] 
Fix repcode-related OSS-fuzz issues in block splitter (#2560)

* Do not emit last partitions of blocks as RLE/uncompressed

* Fix repcode updates within block splitter

* Add a entropytables confirm function, redo ZSTD_confirmRepcodesAndEntropyTables() for better function signature

* Add a repcode updater to block splitter, no longer need to force emit compressed blocks

4 years ago[contrib][linux-kernel] Add zstd_min_clevel() and zstd_max_clevel()
Nick Terrell [Tue, 30 Mar 2021 00:52:28 +0000 (17:52 -0700)] 
[contrib][linux-kernel] Add zstd_min_clevel() and zstd_max_clevel()