daniellerozenblit and GitHub
1c818e3a0a
Merge pull request #3302 from daniellerozenblit/optimal-huff-depth-speed
...
Optimal huff depth speed improvements
2023-01-03 12:51:51 -05:00
Danielle Rozenblit
87becc567d
update regression results.csv
2023-01-03 08:41:40 -08:00
Danielle Rozenblit
df714ddb0f
implement suggestions
2023-01-03 07:20:21 -08:00
Yann Collet and GitHub
3248910432
Merge pull request #3248 from facebook/opt_comments1
...
[easy] add a few comments to the optimal parser code base for improved clarity
2022-12-28 18:03:57 -08:00
Yann Collet
d07e72bb13
fixed incorrect assert
...
commented Fweight instead
2022-12-28 17:23:40 -08:00
Yann Collet
4a1a79a512
just add some comments to zstd_opt for improved clarity
2022-12-28 16:24:12 -08:00
Yann Collet and GitHub
9fbbd74871
Merge pull request #3400 from danlark1/dev
...
Move deprecated annotation before static to allow C++ compilation for clang
2022-12-28 15:50:26 -08:00
Yann Collet and GitHub
bcbd395c1c
Merge pull request #3395 from terrelln/2022-12-21-deprecated-test
...
[tests] Remove deprecated function from longmatch.c test
2022-12-28 15:49:50 -08:00
Yann Collet
00c85b28e7
update ZSTD_CCts_setCParams() inline documentation
...
specify behavior when changing compression parameters during MT compression,
reported by @embg
2022-12-28 15:08:18 -08:00
Yann Collet and GitHub
481a2e1010
Merge pull request #3403 from facebook/setCParams
...
ZSTD_CCtx_setCParams
2022-12-28 14:07:13 -08:00
Elliot Gorokhovsky and GitHub
2a402626dd
External matchfinder API ( #3333 )
...
* First building commit with sample matchfinder
* Set up ZSTD_externalMatchCtx struct
* move seqBuffer to ZSTD_Sequence*
* support non-contiguous dictionary
* clean up parens
* add clearExternalMatchfinder, handle allocation errors
* Add useExternalMatchfinder cParam
* validate useExternalMatchfinder cParam
* Disable LDM + external matchfinder
* Check for static CCtx
* Validate mState and mStateDestructor
* Improve LDM check to cover both branches
* Error API with optional fallback
* handle RLE properly for external matchfinder
* nit
* Move to a CDict-like model for resource ownership
* Add hidden useExternalMatchfinder bool to CCtx_params_s
* Eliminate malloc, move to cwksp allocation
* Handle CCtx reset properly
* Ensure seqStore has enough space for external sequences
* fix capitalization
* Add DEBUGLOG statements
* Add compressionLevel param to matchfinder API
* fix c99 issues and add a param combination error code
* nits
* Test external matchfinder API
* C90 compat for simpleExternalMatchFinder
* Fix some @nocommits and an ASAN bug
* nit
* nit
* nits
* forward declare copySequencesToSeqStore functions in zstd_compress_internal.h
* nit
* nit
* nits
* Update copyright headers
* Fix CMake zstreamtest build
* Fix copyright headers (again)
* typo
* Add externalMatchfinder demo program to make contrib
* Reduce memory consumption for small blockSize
* ZSTD_postProcessExternalMatchFinderResult nits
* test sum(matchlen) + sum(litlen) == srcSize in debug builds
* refExternalMatchFinder -> registerExternalMatchFinder
* C90 nit
* zstreamtest nits
* contrib nits
* contrib nits
* allow block splitter + external matchfinder, refactor
* add windowSize param
* add contrib/externalMatchfinder/README.md
* docs
* go back to old RLE heuristic because of the first block issue
* fix initializer element is not a constant expression
* ref contrib from zstd.h
* extremely pedantic compiler warning fix, meson fix, typo fix
* Additional docs on API limitations
* minor nits
* Refactor maxNbSeq calculation into a helper function
* Fix copyright
2022-12-28 16:45:14 -05:00
Yann Collet
b17743e41b
Signal parameter change during MT compression
2022-12-28 13:14:58 -08:00
Yann Collet
89342d1e07
New xp library symbol : ZSTD_CCtx_setCParams()
...
Inspired by #3395 ,
offer a new capability to set all parameters defined in a ZSTD_compressionParameters structure
with a single symbol invocation
to improve user code brevity.
2022-12-27 23:49:22 -08:00
Yann Collet and GitHub
90597d78ea
Merge pull request #3394 from terrelln/issue-3010
...
[cli-tests] Test file stat read/write
2022-12-27 16:20:05 -08:00
dependabot[bot] and GitHub
1f72dca0ff
Bump ossf/scorecard-action from 2.1.0 to 2.1.2
...
Bumps [ossf/scorecard-action](https://github.com/ossf/scorecard-action ) from 2.1.0 to 2.1.2.
- [Release notes](https://github.com/ossf/scorecard-action/releases )
- [Changelog](https://github.com/ossf/scorecard-action/blob/main/RELEASE.md )
- [Commits](https://github.com/ossf/scorecard-action/compare/937ffa90d79c7d720498178154ad4c7ba1e4ad8c...e38b1902ae4f44df626f11ba0734b14fb91f8f86 )
---
updated-dependencies:
- dependency-name: ossf/scorecard-action
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2022-12-26 05:08:53 +00:00
Yann Collet
6640377783
cmake build: fix nit
...
reported by @jaimeMF in https://github.com/facebook/zstd/pull/3392#discussion_r1056643794
2022-12-23 14:18:11 -08:00
Daniel Kutenin and GitHub
48f4aa7307
Move deprecated annotation before static to allow C++ compilation for clang
...
This fixes last 2 instances of https://github.com/facebook/zstd/issues/3250
2022-12-23 12:07:31 +00:00
Yann Collet and GitHub
089b2797e3
Merge pull request #3398 from facebook/fix3316
...
spec update : require minimum nb of literals for 4-streams mode
2022-12-22 16:57:05 -08:00
Yann Collet
6a9c525903
spec update : require minimum nb of literals for 4-streams mode
...
Reported by @shulib :
the specification for 4-streams mode
doesn't work when the amount of literals to compress is 5 bytes.
Extending it, it also doesn't work for sizes 1 or 2.
This patch updates the specification and the implementation
to require a minimum of 6 literals to trigger or accept the 4-streams mode.
The impact is expected to be a no-op :
the 4-streams mode is never triggered for such small quantity of literals anyway,
since it would be wasteful (it costs ~7.3 bytes more than single-stream mode).
An informal lower limit is set at ~256 bytes,
so the technical minimum is very far from this limit.
This is just meant for completeness of the specification.
2022-12-22 16:14:34 -08:00
Yann Collet and GitHub
8209bfc4f3
Merge pull request #3399 from facebook/fix2577
...
Support decompression of compressed blocks of size ZSTD_BLOCKSIZE_MAX
2022-12-22 14:05:36 -08:00
Yann Collet
ea2895cef4
Support decompression of compressed blocks of size ZSTD_BLOCKSIZE_MAX exactly
2022-12-22 12:40:27 -08:00
Felix Handte and GitHub
f5ea3a196f
Merge pull request #3397 from felixhandte/man-page-tweaks
...
Man Page Tweaks, Edits, Formatting Fixes
2022-12-22 14:49:59 -05:00
W. Felix Handte
11aba9b316
make man
2022-12-22 14:13:24 -05:00
W. Felix Handte
382026f096
Man Page Tweaks, Edits, Formatting Fixes
...
This started as an application of the edits suggested in #3201 and expanded
from there.
2022-12-22 14:13:17 -05:00
Nick Terrell
7fe7a166c2
[cli-tests] Add tests that use --trace-file-stat
...
Basic tests for (de)compressing in the following modes:
* file to file
* file to stdout
* stdin to file
* stdin to stdout
These are basic tests, and aren't testing more advanced scenarios, but
it adds the groundwork for more complex tests as needed.
Fixes #3010 .
2022-12-21 18:32:12 -08:00
Nick Terrell
4b40e405d3
[tests] Remove deprecated function from longmatch.c test
...
Thanks to @eli-schwartz for pointing it out!
We should maybe consider adding a helper function for applying
`ZSTD_parameters` and `ZSTD_compressionParameters` to a context.
That would aid the transition to the new API in situations like this.
2022-12-21 17:52:10 -08:00
Nick Terrell and Nick Terrell
40a7188130
Fix make clangbuild & add CI
...
Fix the errors for:
* `-Wdocumentation`
* `-Wconversion` except `-Wsign-conversion`
2022-12-21 17:31:04 -08:00
Nick Terrell and Nick Terrell
31a703ec13
[cmake] Add noexecstack to compiler/linker flags
2022-12-21 17:30:14 -08:00
Nick Terrell
7df6e25b85
[cli-tests] Add --set-exact-output to update the expected output
...
`./run.py --set-exact-output` will update `stdout.expect` and
`stderr.expect` to match the expected output. This doesn't apply to
outputs which use `.glob` or `.ignore`.
2022-12-21 17:21:09 -08:00
Nick Terrell
b6e8112261
[util] Add traces enabled by --trace-file-stat
...
Print traces to stderr when --trace-file-stat is passed.
We trace all functions that read and write file metadata.
2022-12-21 17:19:34 -08:00
Yann Collet and GitHub
7607b96ed9
Merge pull request #3385 from jonpalmisc/improve_help
...
Improve help/usage (`-h`, `-H`) formatting
2022-12-21 10:56:09 -08:00
Felix Handte and GitHub
0694f1435d
Merge pull request #3386 from felixhandte/pin-other-action-commit-hashes
...
Pin Remaining Action Dependencies (Except OSS-Fuzz)
2022-12-21 11:24:23 -05:00
Jon Palmisciano
125bcde17c
Update tests to expect new CLI help output
2022-12-20 20:13:00 -05:00
Jon Palmisciano
9c93dd71cd
Clean up welcome message
2022-12-20 20:13:00 -05:00
Jon Palmisciano
678335c4f3
Rewrite help output to improve readability
2022-12-20 20:12:59 -05:00
W. Felix Handte
150aa23ef4
Pin Remaining Action Dependencies (Except OSS-Fuzz)
...
The one that isn't pinned is the OSS-Fuzz builder and runner. They don't
offer tagged releases. I could pin to the current master commit, but I'm not
sure how desirable that is.
2022-12-20 17:10:01 -05:00
Felix Handte and GitHub
0790e86c56
Merge pull request #3384 from felixhandte/pin-checkout-action-commit-hash
...
Pin actions/checkout Dependency to Specific Commit Hash
2022-12-20 16:08:03 -05:00
Nick Terrell and Nick Terrell
651a381060
[build][cmake] Fix cmake with custom assembler
...
Tell CMake to explicitly compile our assembly as C code, because we
require it is compiled by a C compiler, and it is only enabled for
clang/gcc.
Fixes #3193 .
2022-12-20 13:02:21 -08:00
Danielle Rozenblit
c26f348dc8
fix CI errors
2022-12-20 12:43:46 -08:00
Danielle Rozenblit
2def93bf10
Merge branch 'optimal-huff-depth-speed' of github.com:daniellerozenblit/zstd into optimal-huff-depth-speed
2022-12-20 12:28:07 -08:00
Danielle Rozenblit
482689b995
huf log speed optimization: unidirectional scan of logs + break when regressing
2022-12-20 12:27:38 -08:00
W. Felix Handte
e3f2c8b11c
Pin actions/checkout Dependency to Specific Commit Hash
...
It's a bit silly, because if we can't trust GitHub, what are we doing here?
But OSSF complains about it, so let's fix it.
2022-12-20 14:53:12 -05:00
Felix Handte and GitHub
ea199876e2
Merge pull request #3378 from facebook/dependabot/github_actions/github/codeql-action-2.1.37
...
Bump github/codeql-action from 1.0.26 to 2.1.37
2022-12-20 14:17:33 -05:00
Felix Handte and GitHub
5f0543a508
Merge pull request #3377 from facebook/dependabot/github_actions/ossf/scorecard-action-2.1.0
...
Bump ossf/scorecard-action from 2.0.6 to 2.1.0
2022-12-20 14:16:10 -05:00
Felix Handte and GitHub
3a7e2eec21
Merge pull request #3340 from facebook/dependabot/github_actions/actions/upload-artifact-3
...
Bump actions/upload-artifact from 1 to 3
2022-12-20 14:15:43 -05:00
Nick Terrell and Nick Terrell
e4018c4e7f
[docs] Clarify dictionary loading documentation
...
Reinforce that loading a new dictionary clears the current dictionary.
Except for the multiple-ddict mode.
2022-12-20 11:10:49 -08:00
Felix Handte and GitHub
f302ad8811
Merge pull request #3173 from felixhandte/update-copyright-company
...
Update Copyright Comments
2022-12-20 13:51:01 -05:00
W. Felix Handte
5d693cc38c
Coalesce Almost All Copyright Notices to Standard Phrasing
...
```
for f in $(find . \( -path ./.git -o -path ./tests/fuzz/corpora -o -path ./tests/regression/data-cache -o -path ./tests/regression/cache \) -prune -o -type f); do sed -i '/Copyright .* \(Yann Collet\)\|\(Meta Platforms\)/ s/Copyright .*/Copyright (c) Meta Platforms, Inc. and affiliates./' $f; done
git checkout HEAD -- build/VS2010/libzstd-dll/libzstd-dll.rc build/VS2010/zstd/zstd.rc tests/test-license.py contrib/linux-kernel/test/include/linux/xxhash.h examples/streaming_compression_thread_pool.c lib/legacy/zstd_v0*.c lib/legacy/zstd_v0*.h
nano ./programs/windres/zstd.rc
nano ./build/VS2010/zstd/zstd.rc
nano ./build/VS2010/libzstd-dll/libzstd-dll.rc
```
2022-12-20 12:52:34 -05:00
W. Felix Handte
7f12f24cf4
Rewrite Copyright Date Ranges from -present to -2022
...
Apparently it's better. Somehow.
```
for f in $(find . \( -path ./.git -o -path ./tests/fuzz/corpora -o -path ./tests/regression/data-cache -o -path ./tests/regression/cache \) -prune -o -type f); do echo $f; sed -i 's/\-present/-2022/' $f; done
g co HEAD -- build/meson/
```
2022-12-20 12:44:56 -05:00
W. Felix Handte
4c999cf968
Update test-license.py
2022-12-20 12:43:16 -05:00