47edd0acf4
removed fullbench-dll project from visual solutions
2024-12-20 10:37:00 -08:00
6f8c1046d0
update Visual Studio solutions
2024-12-20 10:37:00 -08:00
f0d0d95234
added tests
...
check that ZSTD_compressAndLiterals() also controls that the `srcSize` field is exact.
2024-12-20 10:37:00 -08:00
31b5ef2539
ZSTD_compressSequencesAndLiterals() now supports multi-blocks frames.
2024-12-20 10:36:59 -08:00
5164d44dab
change advanced parameter name: ZSTD_c_repcodeResolution
...
and updated its documentation.
Note: older name ZSTD_c_searchForExternalRepcodes remains supported via #define
2024-12-20 10:36:59 -08:00
ca8bd83373
minor: cleaner function parameter repcodeResolution
2024-12-20 10:36:59 -08:00
d2d0fdac42
updated documentation on validateSequence
2024-12-20 10:36:59 -08:00
1f6d6815c3
optimization: instantiate specialized version without Sequence checking code
...
results in +4% compression speed,
thanks to removal of branches in the hot loop.
2024-12-20 10:36:59 -08:00
a288751de7
minor optimization: only track seqPos->posInSrc when validateSequences is enabled
...
note: very minor saving, no performance impact
2024-12-20 10:36:59 -08:00
f176514467
minor doc update
2024-12-20 10:36:59 -08:00
1c8f5b0f11
minor optimization for ZSTD_compressSequencesAndLiterals()
...
does not need to track and update internal `litPtr`.
note: does not measurably impact performance.
2024-12-20 10:36:59 -08:00
0a5c0807af
minor conversion warning fix
2024-12-20 10:36:59 -08:00
f281497aef
fullbench: new scenario: compressSequencesAndLiterals()
2024-12-20 10:36:59 -08:00
ac05ea89a5
fullbench: switch default generator to lorem ipsum
...
which creates more "realistic" scenarios than former compressible noise.
The legacy data generator remains accessible,
it is triggered when requesting an explicit compressibility factor (-P#).
2024-12-20 10:36:59 -08:00
8ab04097ed
add the compressSequences() benchmark scenario
2024-12-20 10:36:59 -08:00
c050ae4fb8
fullbench: preparation functions are now in charge of allocating buffers
2024-12-20 10:36:59 -08:00
8b7e1b795d
minor variable renaming
2024-12-20 10:36:59 -08:00
c540976a4b
minor: test reordering
2024-12-20 10:36:59 -08:00
4c097b4939
refactor fullbench
...
to make it easier to add new scenarios
2024-12-20 10:36:58 -08:00
09964c6276
prepare fullbench for a refactor
2024-12-20 10:36:58 -08:00
0b013b2688
added unit tests to ZSTD_compressSequencesAndLiterals()
...
seems to work as expected,
correctly control that `litSize` and `srcSize` are exactly correct.
2024-12-20 10:36:58 -08:00
14a21e43b3
produced ZSTD_compressSequencesAndLiterals() as a separate pipeline
...
only supports explicit delimiter mode, at least for the time being
2024-12-20 10:36:58 -08:00
bcb15091aa
minor: more accurate variable scope
2024-12-20 10:36:58 -08:00
047db4f1f8
ZSTD_SequenceCopier_f no returns the nb of bytes consumed from input
...
which feels much more natural
2024-12-20 10:36:58 -08:00
4ef9d7d585
codemod: ZSTD_cParamMode_e -> ZSTD_CParamMode_e
2024-12-20 10:36:58 -08:00
56cfb7816a
codemod: ZSTD_paramSwitch_e -> ZSTD_ParamSwitch_e
2024-12-20 10:36:58 -08:00
13b9296d79
minor simplification
2024-12-20 10:36:58 -08:00
2503b64345
fix minor artifact error in single_file_lib
2024-12-20 10:36:58 -08:00
e0f3aaee46
doc: add mention of frame checksum incompatibility
...
for new prototype ZSTD_compressSequencesAndLiterals()
2024-12-20 10:36:57 -08:00
08edecb78c
codemod: ZSTD_blockCompressor -> ZSTD_BlockCompressor_f
2024-12-20 10:36:57 -08:00
25bef24c5c
codemod: rawSeqStore_t -> RawSeqStore_t
2024-12-20 10:36:57 -08:00
41c667c0fd
codemod: repcodes_t -> Repcodes_t
2024-12-20 10:36:57 -08:00
5df80acedb
codemod: ZSTD_matchState_t -> ZSTD_MatchState_t
2024-12-20 10:36:57 -08:00
fa468944f2
codemod: ZSTD_buildSeqStore_e -> ZSTD_BuildSeqStore_e
2024-12-20 10:36:57 -08:00
30671d77af
codemod: ZSTD_sequencePosition -> ZSTD_SequencePosition
2024-12-20 10:36:57 -08:00
5359d16d8d
enable proper type
2024-12-20 10:36:57 -08:00
03d95f9d13
fix proper type for .forceNonContiguous
2024-12-20 10:36:57 -08:00
76dd3a98c4
scope: ZSTD_copySequencesToSeqStore*() are private to ZSTD_compress.c
...
no need to publish them outside of this unit.
2024-12-20 10:36:57 -08:00
1ac79ba1b6
minor: simplify ZSTD_selectSequenceCopier
2024-12-20 10:36:56 -08:00
894ea31281
codemod: ZSTD_sequenceCopier -> ZSTD_SequenceCopier_f
2024-12-20 10:36:56 -08:00
c97522f7fb
codemod: ZSTD_sequenceFormat_e -> ZSTD_SequenceFormat_e
...
since it's a type name.
Note: in contrast with previous names, this one is on the Public API side.
So there is a #define, so that existing programs using ZSTD_sequenceFormat_e still work.
2024-12-20 10:36:56 -08:00
0165eeb441
created ZSTD_entropyCompressSeqStore_wExtLitBuffer()
...
can receive externally defined buffer of literals
2024-12-20 10:36:56 -08:00
e9f8a119b4
ZSTD_entropyCompressSeqStore_internal() can accept an externally defined literals buffer
2024-12-20 10:36:56 -08:00
0442e43aca
codemod: ZSTD_defaultPolicy_e -> ZSTD_DefaultPolicy_e
2024-12-20 10:36:56 -08:00
477a01067f
codemod: symbolEncodingType_e -> SymbolEncodingType_e
2024-12-20 10:36:56 -08:00
8d4506bc94
codemod: ZSTD_sequenceLength -> ZSTD_SequenceLength
2024-12-20 10:36:55 -08:00
a2245721ca
codemod: seqStore_t -> SeqStore_t
...
same idea, SeqStore_t is a type name, it should start with a Capital letter.
2024-12-20 10:36:55 -08:00
9671813375
codemod: seqDef -> SeqDef
...
SeqDef is a type name, so it should start with a Capital letter.
It's an internal symbol, no impact on public API.
2024-12-20 10:36:55 -08:00
b4a40a845f
move Sequences definition to zstd_compress_internal.h
...
they should not be in common/zstd_internal.h,
since these definitions are not shared beyond lib/compress/.
2024-12-20 10:36:55 -08:00
a00f45a037
created ZSTD_storeSeqOnly()
...
makes it possible to register a sequence without copying its literals.
2024-12-20 10:36:04 -08:00