]> git.ipfire.org Git - thirdparty/zstd.git/log
thirdparty/zstd.git
4 years agoFix building on AIX 5.1 2281/head
Like Ma [Tue, 25 Aug 2020 19:10:06 +0000 (03:10 +0800)] 
Fix building on AIX 5.1

4 years agoMerge pull request #2329 from senhuang42/prevent_summary_updates_when_using_stdout
Yann Collet [Fri, 9 Oct 2020 08:01:36 +0000 (01:01 -0700)] 
Merge pull request #2329 from senhuang42/prevent_summary_updates_when_using_stdout

Prevent summary updates when using stdout

4 years agoMerge pull request #2328 from marxin/zstd-pool-api
Yann Collet [Fri, 9 Oct 2020 08:00:50 +0000 (01:00 -0700)] 
Merge pull request #2328 from marxin/zstd-pool-api

Allow external creation of POOLs that can be shared.

4 years agoMerge pull request #2303 from senhuang42/let_cdict_take_clevel_priority
Yann Collet [Fri, 9 Oct 2020 07:48:30 +0000 (00:48 -0700)] 
Merge pull request #2303 from senhuang42/let_cdict_take_clevel_priority

For ZSTD_compressStream2(), let cdict take compression level priority

4 years agoMerge pull request #2319 from facebook/fullbench_stream2
Yann Collet [Fri, 9 Oct 2020 07:40:59 +0000 (00:40 -0700)] 
Merge pull request #2319 from facebook/fullbench_stream2

update fullbench for compressStream2()

4 years agoAdd callsites to zstdcli.c and tests to playTests.sh 2329/head
senhuang42 [Wed, 7 Oct 2020 17:47:38 +0000 (13:47 -0400)] 
Add callsites to zstdcli.c and tests to playTests.sh

4 years agoAdd hasStdoutOutput setter to fileio.h
senhuang42 [Wed, 7 Oct 2020 17:44:25 +0000 (13:44 -0400)] 
Add hasStdoutOutput setter to fileio.h

4 years agoFixed logic for stdout output
senhuang42 [Wed, 7 Oct 2020 17:43:27 +0000 (13:43 -0400)] 
Fixed logic for stdout output

4 years agoAdd new stdoutOutput field
senhuang42 [Wed, 7 Oct 2020 17:42:34 +0000 (13:42 -0400)] 
Add new stdoutOutput field

4 years agoAllow external creation of POOLs that can be shared. 2328/head
Martin Liska [Fri, 25 Sep 2020 12:12:14 +0000 (14:12 +0200)] 
Allow external creation of POOLs that can be shared.

4 years agoMerge pull request #2330 from senhuang42/fix_stdinout_error_messages
Yann Collet [Tue, 6 Oct 2020 22:58:37 +0000 (15:58 -0700)] 
Merge pull request #2330 from senhuang42/fix_stdinout_error_messages

Improve error messages on console input/output

4 years agoMerge pull request #2338 from terrelln/comments
Nick Terrell [Fri, 2 Oct 2020 01:56:24 +0000 (18:56 -0700)] 
Merge pull request #2338 from terrelln/comments

Add comments to ZSTD_getLowest{Match,Prefix}Index()

4 years agoMerge pull request #2333 from terrelln/stable-dst
Nick Terrell [Fri, 2 Oct 2020 01:56:11 +0000 (18:56 -0700)] 
Merge pull request #2333 from terrelln/stable-dst

Reset all decompression parameters in ZSTD_DCtx_reset()

4 years agoReset all decompression parameters in ZSTD_DCtx_reset() 2333/head
Nick Terrell [Tue, 29 Sep 2020 23:25:03 +0000 (16:25 -0700)] 
Reset all decompression parameters in ZSTD_DCtx_reset()

* Reset all decompression parameters in `ZSTD_DCtx_reset()` when
  resetting parameters.
* Add a test case.

4 years agoAdd comments to ZSTD_getLowest{Match,Prefix}Index() 2338/head
Nick Terrell [Thu, 1 Oct 2020 20:21:46 +0000 (13:21 -0700)] 
Add comments to ZSTD_getLowest{Match,Prefix}Index()

Clarify how we handle dictionaries in each case.

4 years agoMerge pull request #2317 from animalize/msvc_inline
Yann Collet [Wed, 30 Sep 2020 15:27:53 +0000 (08:27 -0700)] 
Merge pull request #2317 from animalize/msvc_inline

Let MSVC force inline ZSTD_hashPtr() function

4 years agoMerge pull request #2321 from senhuang42/disallow_repcode_0_in_dict
Yann Collet [Wed, 30 Sep 2020 15:27:21 +0000 (08:27 -0700)] 
Merge pull request #2321 from senhuang42/disallow_repcode_0_in_dict

Update documentation about repcodes in dictionaries

4 years agoMerge pull request #2322 from senhuang42/guard_against_stdin_for_warning_prompts
Yann Collet [Wed, 30 Sep 2020 15:26:50 +0000 (08:26 -0700)] 
Merge pull request #2322 from senhuang42/guard_against_stdin_for_warning_prompts

Don't let warning messages consume input from stdin

4 years agoMerge pull request #2326 from terrelln/kernel-test-fix
Nick Terrell [Tue, 29 Sep 2020 20:51:23 +0000 (13:51 -0700)] 
Merge pull request #2326 from terrelln/kernel-test-fix

Fix issues and warnings exposed by Kernel Test Robot

4 years agoModify error messages on console input/output 2330/head
senhuang42 [Mon, 28 Sep 2020 16:15:18 +0000 (12:15 -0400)] 
Modify error messages on console input/output

4 years agoFix Stdin typo 2322/head
senhuang42 [Fri, 25 Sep 2020 15:51:35 +0000 (11:51 -0400)] 
Fix Stdin typo

4 years agoMerge pull request #2310 from senhuang42/fix_multifile_status_bar
Yann Collet [Fri, 25 Sep 2020 14:48:33 +0000 (07:48 -0700)] 
Merge pull request #2310 from senhuang42/fix_multifile_status_bar

Fix multifile status bar and summary - clear out extraneous characters

4 years ago[superblock] Reduce stack usage by correctly sizing header buffers 2326/head
Nick Terrell [Fri, 25 Sep 2020 01:04:44 +0000 (18:04 -0700)] 
[superblock] Reduce stack usage by correctly sizing header buffers

4 years ago[lib] Add ZSTD_COMPRESS_HEAPMODE tuning parameter
Nick Terrell [Fri, 25 Sep 2020 00:52:16 +0000 (17:52 -0700)] 
[lib] Add ZSTD_COMPRESS_HEAPMODE tuning parameter

4 years ago[freestanding] Improve macro resolution to handle #if X
Nick Terrell [Thu, 24 Sep 2020 23:25:58 +0000 (16:25 -0700)] 
[freestanding] Improve macro resolution to handle #if X

4 years agoAllow user to override ASAN/MSAN detection
Nick Terrell [Thu, 24 Sep 2020 23:04:21 +0000 (16:04 -0700)] 
Allow user to override ASAN/MSAN detection

Rename ADDRESS_SANITIZER -> ZSTD_ADDRESS_SANITIZER and same for
MEMORY_SANITIZER. Also set it to 0/1 instead of checking for defined.
This allows the user to override ASAN/MSAN detection for platforms that
don't support it.

4 years agoRemove call to memset
Nick Terrell [Thu, 24 Sep 2020 23:03:28 +0000 (16:03 -0700)] 
Remove call to memset

The previous commit fixes the test so it errors on calls to mem*()
functions from <string.h>.

4 years ago[linux-kernel] Avoid including <string.h> in the tests
Nick Terrell [Thu, 24 Sep 2020 22:22:34 +0000 (15:22 -0700)] 
[linux-kernel] Avoid including <string.h> in the tests

4 years agoReorganize zstd_deps.h and mem.h + replace mem.h for the kernel
Nick Terrell [Thu, 24 Sep 2020 21:22:56 +0000 (14:22 -0700)] 
Reorganize zstd_deps.h and mem.h + replace mem.h for the kernel

4 years agoMove __has_builtin() fallback define to compiler.h
Nick Terrell [Thu, 24 Sep 2020 22:45:08 +0000 (15:45 -0700)] 
Move __has_builtin() fallback define to compiler.h

4 years agoMove ASAN/MSAN support declarations to compiler.h
Nick Terrell [Thu, 24 Sep 2020 21:14:32 +0000 (14:14 -0700)] 
Move ASAN/MSAN support declarations to compiler.h

4 years agoRemove MEM_STATIC_ASSERT and use DEBUG_STATIC_ASSERT instead
Nick Terrell [Thu, 24 Sep 2020 21:13:16 +0000 (14:13 -0700)] 
Remove MEM_STATIC_ASSERT and use DEBUG_STATIC_ASSERT instead

4 years agoUpdate unit tests
senhuang42 [Thu, 24 Sep 2020 20:44:33 +0000 (16:44 -0400)] 
Update unit tests

4 years agoAdd more useful failure message when stdin is an input
senhuang42 [Thu, 24 Sep 2020 20:29:12 +0000 (16:29 -0400)] 
Add more useful failure message when stdin is an input

4 years agoExpand UTIL_requireUserConfirmation to include stdin input check
senhuang42 [Thu, 24 Sep 2020 19:58:06 +0000 (15:58 -0400)] 
Expand UTIL_requireUserConfirmation to include stdin input check

4 years agoAdd FIO_determineHasStdinInput() function and member to fCtx
senhuang42 [Thu, 24 Sep 2020 19:55:30 +0000 (15:55 -0400)] 
Add FIO_determineHasStdinInput() function and member to fCtx

4 years agoAdd fCtx to FIO_openDstFile()
senhuang42 [Thu, 24 Sep 2020 19:49:30 +0000 (15:49 -0400)] 
Add fCtx to FIO_openDstFile()

4 years agoMerge pull request #2315 from senhuang42/allow_zstd_suffix
Yann Collet [Thu, 24 Sep 2020 16:44:48 +0000 (09:44 -0700)] 
Merge pull request #2315 from senhuang42/allow_zstd_suffix

Support .zstd suffix only for decompression

4 years ago[linux-kernel] Add missing semicolon in zstd_deps.h
Nick Terrell [Thu, 24 Sep 2020 03:36:47 +0000 (20:36 -0700)] 
[linux-kernel] Add missing semicolon in zstd_deps.h

4 years ago[lib] Wrap customMem xor checks in parens for readability
Nick Terrell [Thu, 24 Sep 2020 03:34:44 +0000 (20:34 -0700)] 
[lib] Wrap customMem xor checks in parens for readability

This clarifies operator precedence, and quiets cppcheck in
the Kernel Test Robot. I think this is a slight bonus to
readability, so I am accepting the suggestion.

4 years agoMerge pull request #2324 from terrelln/kernel-test-fix
Nick Terrell [Wed, 23 Sep 2020 22:01:56 +0000 (15:01 -0700)] 
Merge pull request #2324 from terrelln/kernel-test-fix

Silence warnings reported by Kernel Test Robot

4 years ago[CI][linux-kernel] Enable -Wunused-const-variable and -Wunused-but-set-variable 2324/head
Nick Terrell [Wed, 23 Sep 2020 19:59:23 +0000 (12:59 -0700)] 
[CI][linux-kernel] Enable -Wunused-const-variable and -Wunused-but-set-variable

4 years ago[lib] Silence -Wunused-const-variable warnings
Nick Terrell [Wed, 23 Sep 2020 19:58:38 +0000 (12:58 -0700)] 
[lib] Silence -Wunused-const-variable warnings

4 years ago[linux-kernel] Fix unused variable warnings with malloc, calloc, and free
Nick Terrell [Wed, 23 Sep 2020 19:54:10 +0000 (12:54 -0700)] 
[linux-kernel] Fix unused variable warnings with malloc, calloc, and free

4 years agoAdd unit tests to guard against bad stdin
senhuang42 [Tue, 22 Sep 2020 18:16:26 +0000 (14:16 -0400)] 
Add unit tests to guard against bad stdin

4 years agoUse IS_CONSOLE macro to detect that we're indeed using a console
senhuang42 [Tue, 22 Sep 2020 18:15:52 +0000 (14:15 -0400)] 
Use IS_CONSOLE macro to detect that we're indeed using a console

4 years agoMerge pull request #2320 from terrelln/test-fix
Nick Terrell [Tue, 22 Sep 2020 17:58:48 +0000 (10:58 -0700)] 
Merge pull request #2320 from terrelln/test-fix

[tests] Don't write to stdout

4 years agoUpdated to repcode documentation to reflect dict content size 2321/head
senhuang42 [Tue, 22 Sep 2020 17:24:27 +0000 (13:24 -0400)] 
Updated to repcode documentation to reflect dict content size

4 years agoUpdate documentation about repcodes in dictionaries
senhuang42 [Tue, 22 Sep 2020 16:58:44 +0000 (12:58 -0400)] 
Update documentation about repcodes in dictionaries

4 years ago[tests] Don't write to stdout 2320/head
Nick Terrell [Tue, 22 Sep 2020 07:40:27 +0000 (00:40 -0700)] 
[tests] Don't write to stdout

4 years agoupdate fullbench for compressStream2() 2319/head
Yann Collet [Mon, 21 Sep 2020 14:19:20 +0000 (07:19 -0700)] 
update fullbench for compressStream2()

makes it possible to measure scenarios such as #2314

4 years agoUse `MEM_STATIC FORCE_INLINE_ATTR` instead of `FORCE_INLINE_TEMPLATE` 2317/head
animalize [Mon, 21 Sep 2020 05:26:38 +0000 (13:26 +0800)] 
Use `MEM_STATIC FORCE_INLINE_ATTR` instead of `FORCE_INLINE_TEMPLATE`

It adds `__attribute__((unused))` for __GNUC__, to eliminate `-Werror=unused-function` error.

4 years agoLet MSVC force inline ZSTD_hashPtr() function
animalize [Mon, 21 Sep 2020 02:35:47 +0000 (10:35 +0800)] 
Let MSVC force inline ZSTD_hashPtr() function

ZSTD_hashPtr() function was not expanded by MSVC, led to low performance compared to GCC.

4 years agoMerge pull request #2311 from felixhandte/ddss-fix-cparam-derivation
Felix Handte [Fri, 18 Sep 2020 18:02:14 +0000 (14:02 -0400)] 
Merge pull request #2311 from felixhandte/ddss-fix-cparam-derivation

Fix Compression Parameter Derivation Bugs Introduced by DDSS Changes

4 years agoAdd -f to .zstd decompression CLI test 2315/head
senhuang42 [Fri, 18 Sep 2020 17:01:45 +0000 (13:01 -0400)] 
Add -f to .zstd decompression CLI test

4 years agoSupport .zstd suffix only for decompression
senhuang42 [Fri, 18 Sep 2020 16:49:51 +0000 (12:49 -0400)] 
Support .zstd suffix only for decompression

4 years agoMerge pull request #2313 from felixhandte/fuzzer-separate-long-tests
Felix Handte [Fri, 18 Sep 2020 16:03:00 +0000 (12:03 -0400)] 
Merge pull request #2313 from felixhandte/fuzzer-separate-long-tests

Separate Long Tests in Fuzzer

4 years agoRun Long Tests in GitHub CI 2313/head
W. Felix Handte [Thu, 17 Sep 2020 17:28:20 +0000 (13:28 -0400)] 
Run Long Tests in GitHub CI

4 years agoMove Last Two Long Tests in fuzzer.c into Separate --long-tests Section
W. Felix Handte [Thu, 17 Sep 2020 16:57:39 +0000 (12:57 -0400)] 
Move Last Two Long Tests in fuzzer.c into Separate --long-tests Section

4 years agoUpdate Regression Test Results 2311/head
W. Felix Handte [Thu, 17 Sep 2020 16:23:05 +0000 (12:23 -0400)] 
Update Regression Test Results

4 years agoUse ZSTD_CCtxParams_init() to Init CCtxParams, not memset()
W. Felix Handte [Thu, 17 Sep 2020 16:15:33 +0000 (12:15 -0400)] 
Use ZSTD_CCtxParams_init() to Init CCtxParams, not memset()

Even if the discrepancies are at the moment benign, it's probably better to
standardize on using the one true initializer, rather than trying (and failing)
to correctly duplicate its behavior.

4 years agoAvoid Redundancy in ZSTD_initCDict_internal() Args; Don't Take CParams + CCtxParams
W. Felix Handte [Thu, 17 Sep 2020 16:08:36 +0000 (12:08 -0400)] 
Avoid Redundancy in ZSTD_initCDict_internal() Args; Don't Take CParams + CCtxParams

4 years agoFix multifile decompression summary 2310/head
senhuang42 [Wed, 16 Sep 2020 14:38:13 +0000 (10:38 -0400)] 
Fix multifile decompression summary

4 years agoAdd filename truncations to decompression
senhuang42 [Wed, 16 Sep 2020 14:28:45 +0000 (10:28 -0400)] 
Add filename truncations to decompression

4 years agoFall Back if Derived CParams are Incompatible with DDSS; Refactor CDict Creation
W. Felix Handte [Tue, 15 Sep 2020 18:06:58 +0000 (14:06 -0400)] 
Fall Back if Derived CParams are Incompatible with DDSS; Refactor CDict Creation

Rewrite ZSTD_createCDict_advanced() as a wrapper around
ZSTD_createCDict_advanced2(). Evaluate whether to use DDSS mode *after* fully
resolving cparams. If not, fall back.

4 years agoAdd display clears
senhuang42 [Tue, 15 Sep 2020 19:53:32 +0000 (15:53 -0400)] 
Add display clears

4 years agoMake ZSTD_createCDict_advanced2() cctxParams Arg Const
W. Felix Handte [Tue, 15 Sep 2020 18:06:10 +0000 (14:06 -0400)] 
Make ZSTD_createCDict_advanced2() cctxParams Arg Const

4 years agoDo More Complete CParams Deduction in Non-DDSS Path of ZSTD_createCDict_advanced2
W. Felix Handte [Tue, 15 Sep 2020 17:57:43 +0000 (13:57 -0400)] 
Do More Complete CParams Deduction in Non-DDSS Path of ZSTD_createCDict_advanced2

Call ZSTD_getCParamsFromCCtxParams() instead of ZSTD_getCParams_internal().

4 years agoPull CParam Override Logic into Helper
W. Felix Handte [Tue, 15 Sep 2020 17:38:05 +0000 (13:38 -0400)] 
Pull CParam Override Logic into Helper

4 years agoAdd padding to remove previous line's leftovers, and keep the printed line to around...
senhuang42 [Tue, 15 Sep 2020 17:01:46 +0000 (13:01 -0400)] 
Add padding to remove previous line's leftovers, and keep the printed line to around the same size

4 years agoMerge pull request #2308 from terrelln/zstd-kernel
Nick Terrell [Mon, 14 Sep 2020 21:56:30 +0000 (14:56 -0700)] 
Merge pull request #2308 from terrelln/zstd-kernel

[contrib][linux-kernel] Add decompress_sources.h

4 years agoMerge pull request #2292 from senhuang42/multifile_status_update_fio_refactor
Yann Collet [Mon, 14 Sep 2020 21:06:26 +0000 (14:06 -0700)] 
Merge pull request #2292 from senhuang42/multifile_status_update_fio_refactor

Make multifile (de)compression print out a summary

4 years agoMerge pull request #2299 from senhuang42/env_var_num_threads
Yann Collet [Mon, 14 Sep 2020 21:04:19 +0000 (14:04 -0700)] 
Merge pull request #2299 from senhuang42/env_var_num_threads

Allow environment variable to specify number of threads for compression

4 years agoMerge pull request #2306 from facebook/check_endDirective
Yann Collet [Mon, 14 Sep 2020 20:57:55 +0000 (13:57 -0700)] 
Merge pull request #2306 from facebook/check_endDirective

check endDirective in ZSTD_compressStream2()

4 years ago[contrib][linux-kernel] Add decompress_sources.h 2308/head
Nick Terrell [Mon, 14 Sep 2020 19:45:24 +0000 (12:45 -0700)] 
[contrib][linux-kernel] Add decompress_sources.h

Add decompress_sources.h, which includes all the decompression .c files.
This is used for kernel decompression.

Also, add a test which checks that including decompress_sources.h works.

4 years agominor fix casting for Visual 2306/head
Yann Collet [Mon, 14 Sep 2020 18:46:23 +0000 (11:46 -0700)] 
minor fix casting for Visual

4 years agocheck endDirective in ZSTD_compressStream2()
Yann Collet [Mon, 14 Sep 2020 17:56:08 +0000 (10:56 -0700)] 
check endDirective in ZSTD_compressStream2()

fix #2297
also :
- `assert()` `endDirective` in `ZSTD_compressStream_internal()`, for debug mode
- add relevant tests

4 years agoCoding style cleanup 2303/head
senhuang42 [Fri, 11 Sep 2020 15:42:12 +0000 (11:42 -0400)] 
Coding style cleanup

4 years agoModify params rather than cctx->requestedParams
senhuang42 [Fri, 11 Sep 2020 15:41:10 +0000 (11:41 -0400)] 
Modify params rather than cctx->requestedParams

4 years agoMerge pull request #2295 from felixhandte/dedicated-dict-search-structure-chain
Felix Handte [Fri, 11 Sep 2020 05:39:23 +0000 (01:39 -0400)] 
Merge pull request #2295 from felixhandte/dedicated-dict-search-structure-chain

DDSS for Lazy: Implement a Dedicated Dictionary Chain Table

4 years agoPrint More During Fuzzer Test to Avoid CI Killing it Due to Timeout 2295/head
W. Felix Handte [Fri, 11 Sep 2020 03:35:42 +0000 (23:35 -0400)] 
Print More During Fuzzer Test to Avoid CI Killing it Due to Timeout

This is kind of hacky. And maybe this test doesn't need to be permanently as
exhaustive as it is now. But while we're actively developing the DDSS, we
should ensure it's compatible across many different modes.

4 years agoTest Fewer Dictionary Sizes
W. Felix Handte [Fri, 11 Sep 2020 02:29:19 +0000 (22:29 -0400)] 
Test Fewer Dictionary Sizes

4 years agoFix Debug Logging in 32-bit Build
W. Felix Handte [Thu, 10 Sep 2020 23:19:39 +0000 (19:19 -0400)] 
Fix Debug Logging in 32-bit Build

4 years agoDocument searchFuncs Table
W. Felix Handte [Thu, 10 Sep 2020 22:22:49 +0000 (18:22 -0400)] 
Document searchFuncs Table

4 years agoFurther Consolidate Dict Mode Checks
W. Felix Handte [Thu, 10 Sep 2020 22:18:50 +0000 (18:18 -0400)] 
Further Consolidate Dict Mode Checks

4 years agoImprove Documentation Slightly
W. Felix Handte [Thu, 10 Sep 2020 20:36:28 +0000 (16:36 -0400)] 
Improve Documentation Slightly

4 years agoMake DDSS Selection Override ForceCopy Directive
W. Felix Handte [Thu, 10 Sep 2020 15:33:12 +0000 (11:33 -0400)] 
Make DDSS Selection Override ForceCopy Directive

4 years agoTest DDSS A Little More Thoroughly
W. Felix Handte [Thu, 10 Sep 2020 15:32:16 +0000 (11:32 -0400)] 
Test DDSS A Little More Thoroughly

4 years agoAttempt to Fix MSVC Warnings
W. Felix Handte [Tue, 8 Sep 2020 21:39:37 +0000 (17:39 -0400)] 
Attempt to Fix MSVC Warnings

4 years agoSimplify Match Limit Checks
W. Felix Handte [Fri, 4 Sep 2020 04:31:00 +0000 (00:31 -0400)] 
Simplify Match Limit Checks

Seems like a ~1.25% speedup.

4 years agoUse All Available Space in the Hash Table to Extent Chain Table Reach
W. Felix Handte [Fri, 4 Sep 2020 04:11:44 +0000 (00:11 -0400)] 
Use All Available Space in the Hash Table to Extent Chain Table Reach

Rather than restrict our temp chain table to 2 ** chainLog entries, this
commit uses all available space to reach further back to gather longer
chains to pack into the DDSS chain table.

4 years agoRewrite Table Fill to Retain Cache Entries Beyond Chain Window
W. Felix Handte [Thu, 3 Sep 2020 23:45:24 +0000 (19:45 -0400)] 
Rewrite Table Fill to Retain Cache Entries Beyond Chain Window

4 years agoAvoid Malloc in Table Fill; Pack Tmp Structure into Hash Table
W. Felix Handte [Thu, 3 Sep 2020 21:29:44 +0000 (17:29 -0400)] 
Avoid Malloc in Table Fill; Pack Tmp Structure into Hash Table

4 years agoTruncate Chain at Last Possible Attempt
W. Felix Handte [Thu, 3 Sep 2020 17:58:11 +0000 (13:58 -0400)] 
Truncate Chain at Last Possible Attempt

Make the chain table denser?

4 years agoPrefetch Chain Table Matches
W. Felix Handte [Thu, 3 Sep 2020 17:34:38 +0000 (13:34 -0400)] 
Prefetch Chain Table Matches

4 years agoLay Out Chain Table Chains Contiguously
W. Felix Handte [Thu, 3 Sep 2020 16:55:40 +0000 (12:55 -0400)] 
Lay Out Chain Table Chains Contiguously

Rather than interleave all of the chain table entries, tying each entry's
position to the corresponding position in the input, this commit changes the
layout so that all the entries in a single chain are laid out next to each
other. The last entry in the hash table's bucket for this hash is now a packed
pointer of position + length of this chain.

This cannot be merged as written, since it allocates temporary memory inside
ZSTD_dedicatedDictSearch_lazy_loadDictionary().

4 years agoOnly Insert Positions Inside the Chain Window
W. Felix Handte [Wed, 2 Sep 2020 21:29:46 +0000 (17:29 -0400)] 
Only Insert Positions Inside the Chain Window

4 years agoOnly Allow Dedicated Dict Search for Dicts Loaded in 1 Chunk
W. Felix Handte [Wed, 2 Sep 2020 21:15:31 +0000 (17:15 -0400)] 
Only Allow Dedicated Dict Search for Dicts Loaded in 1 Chunk

The load algorithm requires we do it all in one go.

4 years agoMerge pull request #2276 from felixhandte/dedicated-dict-search-structure
Felix Handte [Fri, 11 Sep 2020 02:09:25 +0000 (22:09 -0400)] 
Merge pull request #2276 from felixhandte/dedicated-dict-search-structure

DDSS For Lazy: Implement a Dedicated Dictionary Hash Table

4 years agoFix Bug: Only Use DDSS Insertion on CDict MatchStates 2276/head
W. Felix Handte [Fri, 4 Sep 2020 16:16:35 +0000 (12:16 -0400)] 
Fix Bug: Only Use DDSS Insertion on CDict MatchStates

Previously, if DDSS was enabled on a CCtx and a dictionary was inserted into
the CCtx, the CCtx MatchState would be filled as a DDSS struct, causing
segfaults etc. This changes the check to use whether the MatchState is marked
as using the DDSS (which is only ever set for CDict MatchStates), rather than
looking at the CCtxParams.