Skip to content

Put windowFrac in the CCtxParams, not the CParams #4305

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Draft
wants to merge 36 commits into
base: dev
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from 32 commits
Commits
Show all changes
36 commits
Select commit Hold shift + click to select a range
22572d6
Separate Public and Private CParam Structs
felixhandte Jan 29, 2025
768a55c
Also Separate Public and Private Params Structs
felixhandte Jan 29, 2025
aa76d3f
Add a `windowFrac` Field to `ZSTD_CParams`
felixhandte Jan 29, 2025
139b725
Add Public `ZSTD_c_windowFrac` CCtxParam
felixhandte Jan 29, 2025
7e695b8
Fix Fuzzer Tests
felixhandte Jan 30, 2025
4dbc1a1
Implement Support for Fractional Window Sizes
felixhandte Jan 29, 2025
3e308e2
Easy: Rename Arg to `ZSTD_cycleLog`
felixhandte Jan 30, 2025
a8da454
Trivial `fuzzer.c` Additions
felixhandte Jan 30, 2025
301a34d
Macro Guard to Control Picking Fractional Window Sizes
felixhandte Jan 30, 2025
a2f3b98
A Little More Bounds-Checking
felixhandte Feb 3, 2025
0561a50
Add Enablement Flag to Some GitHub Workflows
felixhandte Feb 3, 2025
fe80106
Only Apply `windowFrac` when `windowLog` is Also Set
felixhandte Feb 3, 2025
abc3d6f
Avoid Illegal WL and WF Combos
felixhandte Feb 5, 2025
78996a6
Correct Corner-Case Bugs in Window Sizing
felixhandte Feb 6, 2025
9848c21
Exhaustive Testing of Window Sizing Combinations
felixhandte Feb 5, 2025
705a5b2
Add WindowFrac Param to Fuzz Tests
felixhandte Feb 6, 2025
d720558
Add Advanced Parameter to CLI to Set Window Fraction
felixhandte Feb 6, 2025
8b12bd6
Add Man Page Documentation
felixhandte Feb 6, 2025
2af69f9
Add CLI Test for Fractional Window Size Param
felixhandte Feb 6, 2025
72c38c9
Fix Various Contbuild Warnings
felixhandte Feb 7, 2025
80bf084
Fix Hash-Table Sizing of Small Inputs
felixhandte Feb 18, 2025
2404101
ZSTD_MatchState_t Stores CCtxParams Pointer, not CParams
felixhandte Feb 7, 2025
885b21e
Move `useRowMatchFinder` into CCtxParams in CDict
felixhandte Feb 18, 2025
e423daa
Move `compressionLevel` into CCtxParams in CDict
felixhandte Feb 18, 2025
28ce1ee
Convert `ZSTD_adjustCParams_internal()` to Operate on CCtxParams
felixhandte Feb 19, 2025
8832b95
Convert `ZSTD_estimateCCtxSize_usingCCtxParams_internal()` to Operate…
felixhandte Feb 19, 2025
4494d0a
Convert Window Size Helper Functions to take CCtxParams
felixhandte Feb 19, 2025
90c0e0a
Split `ZSTD_checkCParams_internal()` into Two Funcs, One of Which Ope…
felixhandte Feb 20, 2025
004f344
Convert `ZSTD_clampCParams()` to Operate on CCtxParams
felixhandte Feb 20, 2025
c595077
Convert `ZSTD_ldm_adjustParameters()` to take CCtxParams
felixhandte Feb 20, 2025
4fad13e
Move `windowFrac` Field out of CParams into CCtxParams
felixhandte Feb 20, 2025
196ac9d
Unify CParams / Params Structs
felixhandte Feb 20, 2025
cbbf3b2
Further Transport CCtxParams Rather than CParams in Various Param Res…
felixhandte Feb 24, 2025
af60a97
Init CCtxParams from (CParam-like) CCtxParams in Entry-Points
felixhandte Feb 24, 2025
67a2b3c
Fix Transporting FParams in `ZSTD_compressBegin_usingCDict_internal()`
felixhandte Feb 24, 2025
b5fabd7
Fix Build
felixhandte Feb 24, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 7 additions & 7 deletions .github/workflows/dev-long-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ jobs:
steps:
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # tag=v4.1.1
- name: make test
run: make test
run: MOREFLAGS="-DZSTD_WINDOW_ALLOW_PICKING_FRACTIONAL_SIZES=1" make test

# lasts ~26mn
make-test-macos:
Expand All @@ -51,7 +51,7 @@ jobs:
sudo apt-get -qqq update
make libc6install
make clean
CFLAGS="-m32 -O2" make -j test V=1
CFLAGS="-m32 -O2" MOREFLAGS="-DZSTD_WINDOW_ALLOW_PICKING_FRACTIONAL_SIZES=1" make -j test V=1

no-intrinsics-fuzztest:
runs-on: ubuntu-latest
Expand All @@ -72,7 +72,7 @@ jobs:
steps:
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # tag=v4.1.1
- name: ub + address sanitizer on zstreamtest
run: CC=clang make uasan-test-zstream
run: CC=clang MOREFLAGS="-DZSTD_WINDOW_ALLOW_PICKING_FRACTIONAL_SIZES=1" make uasan-test-zstream

# lasts ~15mn
tsan-fuzztest:
Expand All @@ -91,7 +91,7 @@ jobs:
run: |
sudo apt-get -qqq update
make libc6install
CC=clang make -C tests test-zstream32 FUZZER_FLAGS="--big-tests"
CC=clang MOREFLAGS="-DZSTD_WINDOW_ALLOW_PICKING_FRACTIONAL_SIZES=1" make -C tests test-zstream32 FUZZER_FLAGS="--big-tests"

# lasts ~23mn
gcc-8-asan-ubsan-testzstd:
Expand Down Expand Up @@ -121,7 +121,7 @@ jobs:
run: |
sudo apt-get -qqq update
make libc6install
make -j uasan-test-zstd32 V=1
MOREFLAGS="-DZSTD_WINDOW_ALLOW_PICKING_FRACTIONAL_SIZES=1" make -j uasan-test-zstd32 V=1

# Note : external libraries must be turned off when using MSAN tests,
# because they are not msan-instrumented,
Expand All @@ -144,7 +144,7 @@ jobs:
steps:
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # tag=v4.1.1
- name: clang + ASan + UBSan + Fuzz Test
run: CC=clang FUZZER_FLAGS="--long-tests" make clean uasan-fuzztest
run: CC=clang FUZZER_FLAGS="--long-tests" MOREFLAGS="-DZSTD_WINDOW_ALLOW_PICKING_FRACTIONAL_SIZES=1" make clean uasan-fuzztest

gcc-asan-ubsan-fuzz32:
runs-on: ubuntu-latest
Expand All @@ -154,7 +154,7 @@ jobs:
run: |
sudo apt-get -qqq update
make libc6install
CFLAGS="-O3 -m32" FUZZER_FLAGS="--long-tests" make uasan-fuzztest
CFLAGS="-O3 -m32" MOREFLAGS="-DZSTD_WINDOW_ALLOW_PICKING_FRACTIONAL_SIZES=1" FUZZER_FLAGS="--long-tests" make uasan-fuzztest

clang-asan-fuzz32:
runs-on: ubuntu-latest
Expand Down
Loading
Loading