]>
git.ipfire.org Git - thirdparty/zstd.git/log
senhuang42 [Fri, 18 Sep 2020 17:01:45 +0000 (13:01 -0400)]
Add -f to .zstd decompression CLI test
senhuang42 [Fri, 18 Sep 2020 16:49:51 +0000 (12:49 -0400)]
Support .zstd suffix only for decompression
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
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
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()
Yann Collet [Mon, 14 Sep 2020 18:46:23 +0000 (11:46 -0700)]
minor fix casting for Visual
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
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
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.
W. Felix Handte [Fri, 11 Sep 2020 02:29:19 +0000 (22:29 -0400)]
Test Fewer Dictionary Sizes
W. Felix Handte [Thu, 10 Sep 2020 23:19:39 +0000 (19:19 -0400)]
Fix Debug Logging in 32-bit Build
W. Felix Handte [Thu, 10 Sep 2020 22:22:49 +0000 (18:22 -0400)]
Document searchFuncs Table
W. Felix Handte [Thu, 10 Sep 2020 22:18:50 +0000 (18:18 -0400)]
Further Consolidate Dict Mode Checks
W. Felix Handte [Thu, 10 Sep 2020 20:36:28 +0000 (16:36 -0400)]
Improve Documentation Slightly
W. Felix Handte [Thu, 10 Sep 2020 15:33:12 +0000 (11:33 -0400)]
Make DDSS Selection Override ForceCopy Directive
W. Felix Handte [Thu, 10 Sep 2020 15:32:16 +0000 (11:32 -0400)]
Test DDSS A Little More Thoroughly
W. Felix Handte [Tue, 8 Sep 2020 21:39:37 +0000 (17:39 -0400)]
Attempt to Fix MSVC Warnings
W. Felix Handte [Fri, 4 Sep 2020 04:31:00 +0000 (00:31 -0400)]
Simplify Match Limit Checks
Seems like a ~1.25% speedup.
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.
W. Felix Handte [Thu, 3 Sep 2020 23:45:24 +0000 (19:45 -0400)]
Rewrite Table Fill to Retain Cache Entries Beyond Chain Window
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
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?
W. Felix Handte [Thu, 3 Sep 2020 17:34:38 +0000 (13:34 -0400)]
Prefetch Chain Table Matches
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().
W. Felix Handte [Wed, 2 Sep 2020 21:29:46 +0000 (17:29 -0400)]
Only Insert Positions Inside the Chain Window
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.
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
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.
W. Felix Handte [Wed, 2 Sep 2020 17:27:11 +0000 (13:27 -0400)]
Shorten Dict Mode Conditionals in Order to Improve Readability
W. Felix Handte [Wed, 2 Sep 2020 16:40:42 +0000 (12:40 -0400)]
Force-Inline ZSTD_insertAndFindFirstIndex_internal()
Without this, gcc was declining to inline the function in `ZSTD_noDict` mode,
resulting in a ~10% slowdown.
W. Felix Handte [Wed, 2 Sep 2020 16:40:25 +0000 (12:40 -0400)]
Clean Up Search Function Selection
W. Felix Handte [Fri, 28 Aug 2020 18:14:29 +0000 (14:14 -0400)]
Fix `-Wshorten-64-to-32` Error
W. Felix Handte [Fri, 28 Aug 2020 16:38:50 +0000 (12:38 -0400)]
Adjust Working Context Table Sizes Back Down
W. Felix Handte [Fri, 28 Aug 2020 16:31:01 +0000 (12:31 -0400)]
Add Warning Comment to ZSTD_createCDict_advanced2() Declaration
W. Felix Handte [Wed, 26 Aug 2020 22:33:44 +0000 (18:33 -0400)]
Permit Matching Against Lowest Valid Position
This comparison was previously faulty: the lowest valid position is itself
valid, and we should therefore be allowed to match against it.
W. Felix Handte [Wed, 26 Aug 2020 20:33:13 +0000 (16:33 -0400)]
Make ZSTD_dedicatedDictSearch_getCParams Wrap ZSTD_getCParams
Fixes up bounds-checking, and lets us clean up what is at the moment an
unnecessary duplication of the default cparams tables.
W. Felix Handte [Fri, 21 Aug 2020 21:00:26 +0000 (17:00 -0400)]
Easy: Fix Test
W. Felix Handte [Thu, 20 Aug 2020 21:17:10 +0000 (17:17 -0400)]
Remove Chain Limit on Hash Cache Entries; Slightly Improve Compression
Entries in the hashTable chain cache aren't subject to the same aliasing that
the circular chain table is subject to. As such, we don't need to stop when we
cross the chain limit. We can delve deeper. :)
W. Felix Handte [Thu, 20 Aug 2020 16:31:25 +0000 (12:31 -0400)]
Split Lookups in Hash Cache and Chain Table into Two Loops
Sliiiight speedup.
W. Felix Handte [Thu, 20 Aug 2020 15:40:47 +0000 (11:40 -0400)]
Simplify DDS Hash Table Construction
No need to walk the chainTable; we can just keep shifting the entries in the
hashTable.
W. Felix Handte [Tue, 18 Aug 2020 20:58:11 +0000 (16:58 -0400)]
Document the ZSTD_c_enableDedicatedDictSearch Parameter
W. Felix Handte [Tue, 18 Aug 2020 19:20:12 +0000 (15:20 -0400)]
Rename and Move DD_BLOG Constant to ZSTD_LAZY_DDSS_BUCKET_LOG
W. Felix Handte [Tue, 18 Aug 2020 17:30:41 +0000 (13:30 -0400)]
Prefetch First Batch of Match Positions; +11% Speed in Level 5 w/ 1 Dict
W. Felix Handte [Mon, 17 Aug 2020 21:43:01 +0000 (17:43 -0400)]
Fix Off-By-One Error in Counting DDS Search Attempts
This caused us to double-search the first position and fail to search the
last position in the chain, slowing down search and making it less effective.
W. Felix Handte [Mon, 17 Aug 2020 16:37:58 +0000 (12:37 -0400)]
Enable Dedicated Dict Search in the CLI
W. Felix Handte [Mon, 17 Aug 2020 16:35:50 +0000 (12:35 -0400)]
Init CCtx's Local Dict with CCtxParams
W. Felix Handte [Thu, 13 Aug 2020 20:52:07 +0000 (16:52 -0400)]
Decision for Whether to Attach Should be Based on CDict Config, not CCtx
W. Felix Handte [Thu, 13 Aug 2020 18:54:10 +0000 (14:54 -0400)]
Move Prefetch Before Insertion; Speed Up ~6%
W. Felix Handte [Thu, 13 Aug 2020 15:57:31 +0000 (11:57 -0400)]
Misc Refactor of DDS Search Code
W. Felix Handte [Wed, 12 Aug 2020 20:50:44 +0000 (16:50 -0400)]
Rename enableDedicatedDictSearch to dedicatedDictSearch in MatchState
This makes it clear that not only is the feature allowed here, we're actually
using it, as opposed to the CCtxParam field, in which it's enabled, but we may
or may not be using it.
W. Felix Handte [Tue, 11 Aug 2020 22:57:12 +0000 (18:57 -0400)]
Always Init CDict's enableDedicatedDictSearch Field
W. Felix Handte [Tue, 11 Aug 2020 22:48:22 +0000 (18:48 -0400)]
Add a ZSTD_dedicatedDictSearch ZSTD_dictMode_e to Allow Const Propagation
Speed +1.5%.
W. Felix Handte [Tue, 11 Aug 2020 22:24:11 +0000 (18:24 -0400)]
Fix ZSTD_c_forceAttachDict Bounds
W. Felix Handte [Tue, 11 Aug 2020 22:03:38 +0000 (18:03 -0400)]
Make ZSTD_c_enableDedicatedDictSearch an Experimental Param
W. Felix Handte [Tue, 11 Aug 2020 19:29:12 +0000 (15:29 -0400)]
Add Fuzzer Test for the Various Dict Attachment Strategies
W. Felix Handte [Fri, 7 Aug 2020 20:41:16 +0000 (16:41 -0400)]
TODO: Comment
W. Felix Handte [Fri, 7 Aug 2020 16:02:18 +0000 (12:02 -0400)]
Fix Compilation Warnings
Bimba Shrestha [Fri, 12 Jun 2020 15:53:58 +0000 (08:53 -0700)]
updating cold benchmark
Bimba Shrestha [Fri, 12 Jun 2020 15:01:18 +0000 (08:01 -0700)]
creating ZSTD_createCDict_advanced_internal
Bimba Shrestha [Fri, 12 Jun 2020 05:57:53 +0000 (22:57 -0700)]
changing to int for consistency
Bimba Shrestha [Fri, 12 Jun 2020 05:55:32 +0000 (22:55 -0700)]
using dict mls instead of src mls
Bimba Shrestha [Fri, 12 Jun 2020 05:54:36 +0000 (22:54 -0700)]
add hashtable head prefetching
Bimba Shrestha [Fri, 12 Jun 2020 05:48:48 +0000 (22:48 -0700)]
change method name for consistency
Bimba Shrestha [Fri, 12 Jun 2020 05:46:16 +0000 (22:46 -0700)]
pass correct cparams
Bimba Shrestha [Fri, 12 Jun 2020 05:42:57 +0000 (22:42 -0700)]
removing wrong comment
Bimba Shrestha [Fri, 12 Jun 2020 05:42:11 +0000 (22:42 -0700)]
making cctxParams a pointer
Bimba Shrestha [Fri, 12 Jun 2020 02:41:03 +0000 (19:41 -0700)]
loading dict using new algorithm
Bimba Shrestha [Fri, 12 Jun 2020 01:54:44 +0000 (18:54 -0700)]
adding dedicatedDictSearch algorithm
Bimba Shrestha [Fri, 12 Jun 2020 01:34:14 +0000 (18:34 -0700)]
adding enableDedicatedDictSearch to matchState_t
Bimba Shrestha [Fri, 12 Jun 2020 01:27:07 +0000 (18:27 -0700)]
adding dedicated dict load method to lazy
Bimba Shrestha [Fri, 12 Jun 2020 01:12:48 +0000 (18:12 -0700)]
adding ZSTD_createCDict_advanced2 to zstd.h
Bimba Shrestha [Thu, 11 Jun 2020 21:19:12 +0000 (14:19 -0700)]
always attach dict when using dedicatedDictSearch
Bimba Shrestha [Thu, 11 Jun 2020 20:48:57 +0000 (13:48 -0700)]
adding dedicatedDictSearch cParams helper methods
Bimba Shrestha [Thu, 11 Jun 2020 20:33:52 +0000 (13:33 -0700)]
adding ZSTD_dedicatedDictSearch_defaultCParameters variable
Bimba Shrestha [Thu, 11 Jun 2020 20:21:28 +0000 (13:21 -0700)]
Add ZSTD_c_enableDedicatedDictSearch Param
Nick Terrell [Thu, 10 Sep 2020 22:42:16 +0000 (15:42 -0700)]
Merge pull request #2301 from terrelln/prepare-for-release
Prepare library for a release
Nick Terrell [Thu, 10 Sep 2020 00:13:45 +0000 (17:13 -0700)]
[lib] Bump version number to 1.4.6
Nick Terrell [Thu, 10 Sep 2020 00:13:34 +0000 (17:13 -0700)]
Update CHANGELOG for the next release
Nick Terrell [Thu, 10 Sep 2020 00:13:16 +0000 (17:13 -0700)]
[doc] Document new build macros in lib/README.md
Nick Terrell [Wed, 9 Sep 2020 22:38:02 +0000 (15:38 -0700)]
Merge pull request #2289 from terrelln/zstd-kernel-2
[linux-kernel] Prepare zstd for the Linux Kernel
Nick Terrell [Wed, 9 Sep 2020 19:45:16 +0000 (12:45 -0700)]
[linux-kernel] Update README with initial instructions on how to update zstd in the kernel
Nick Terrell [Wed, 9 Sep 2020 19:36:58 +0000 (12:36 -0700)]
[linux-kernel] Add test that checks the ifdef hardwiring
Nick Terrell [Tue, 11 Aug 2020 06:11:20 +0000 (23:11 -0700)]
Add linux-kernel freestanding
Nick Terrell [Tue, 11 Aug 2020 06:09:59 +0000 (23:09 -0700)]
[contrib] Add preprocessor hardwiring to freestanding.py
Nick Terrell [Fri, 28 Aug 2020 00:10:04 +0000 (17:10 -0700)]
[lib] Add ZSTD_NO_UNUSED_FUNCTIONS macro to hide unused functions
The unused function definitions are hidden behind a
`#ifndef ZSTD_NO_UNUSED_FUNCTIONS` check.
Initially hiding all functions which are unused and take up more than
2KB of stack space, because these will show up as warnings in the
Linux Kernel build system.
Nick Terrell [Thu, 27 Aug 2020 22:01:18 +0000 (15:01 -0700)]
[lib] Replace 64-bit divisions with ZSTD_div64()
Nick Terrell [Thu, 27 Aug 2020 00:52:54 +0000 (17:52 -0700)]
[lib] Reduce zstd stack usage by 1KB
Nick Terrell [Fri, 14 Aug 2020 19:42:06 +0000 (12:42 -0700)]
Fix ZSTD_initCStream_advanced() with no dictionary and static allocation
Nick Terrell [Fri, 14 Aug 2020 19:41:28 +0000 (12:41 -0700)]
Add ZSTD_NO_INTRINSICS macro to avoid explicit intrinsics
Nick Terrell [Tue, 11 Aug 2020 21:31:09 +0000 (14:31 -0700)]
[lib] s/current/curr because it collides with Linux Kernel macro
senhuang42 [Wed, 9 Sep 2020 16:35:40 +0000 (12:35 -0400)]
nbThreads instead of numThreads
Nick Terrell [Tue, 8 Sep 2020 23:42:34 +0000 (16:42 -0700)]
Merge pull request #2291 from i-do-cpp/fix-compression-level-default
Fix setParameter not falling back to default compression level
senhuang42 [Tue, 8 Sep 2020 14:34:50 +0000 (10:34 -0400)]
Add ZSTD_NUMTHREADS tests to playTests.sh
senhuang42 [Tue, 8 Sep 2020 13:26:16 +0000 (09:26 -0400)]
Add include guards for init_numThreads()
senhuang42 [Mon, 7 Sep 2020 22:35:46 +0000 (18:35 -0400)]
Update documentation for environment variable
senhuang42 [Mon, 7 Sep 2020 22:19:31 +0000 (18:19 -0400)]
Add quick documentation for ZSTD_NUMTHREADS in the code
senhuang42 [Mon, 7 Sep 2020 22:11:42 +0000 (18:11 -0400)]
Change param name to ZSTDCLI_NUMTHREADS_DEFAULT
senhuang42 [Tue, 1 Sep 2020 20:08:49 +0000 (16:08 -0400)]
Change default num_threads value
senhuang42 [Mon, 7 Sep 2020 17:13:05 +0000 (13:13 -0400)]
Adjust function signatures
Felix Handte [Fri, 4 Sep 2020 14:58:57 +0000 (10:58 -0400)]
Merge pull request #2294 from felixhandte/makefile-lib-fix-var-order
Fix Makefile Variable Concatenation Order