Yann Collet
b352748e8a
improved speed of the Sequences converter
2024-12-17 21:33:26 -08:00
Yann Collet
3ae0c8b984
added benchmark for ZSTD_convertBlockSequences_wBlockDelim()
2024-12-17 17:52:26 -08:00
Yann Collet
bb818c6510
change name to ZSTD_convertSequences*()
2024-12-17 14:24:29 -08:00
Yann Collet
589590368a
attempt to silence Visual Studio warning about fopen()
2024-12-16 22:00:13 -08:00
Yann Collet
3436410769
fixed incorrect assert
2024-12-16 21:29:20 -08:00
Yann Collet
3ca1194931
removed fullbench-dll project from visual solutions
2024-12-16 21:23:30 -08:00
Yann Collet
b5c5eb575b
update Visual Studio solutions
2024-12-16 21:05:24 -08:00
Yann Collet
75b0132c57
added tests
...
check that ZSTD_compressAndLiterals() also controls that the `srcSize` field is exact.
2024-12-16 20:44:06 -08:00
Yann Collet
e501a11019
ZSTD_compressSequencesAndLiterals() now supports multi-blocks frames.
2024-12-16 20:44:06 -08:00
Yann Collet
ce13aef75b
change advanced parameter name: ZSTD_c_repcodeResolution
...
and updated its documentation.
Note: older name ZSTD_c_searchForExternalRepcodes remains supported via #define
2024-12-16 20:44:06 -08:00
Yann Collet
51424d594d
minor: cleaner function parameter repcodeResolution
2024-12-16 20:44:06 -08:00
Yann Collet
9b2c22e43c
updated documentation on validateSequence
2024-12-16 20:44:06 -08:00
Yann Collet
0e478180d5
optimization: instantiate specialized version without Sequence checking code
...
results in +4% compression speed,
thanks to removal of branches in the hot loop.
2024-12-16 20:44:06 -08:00
Yann Collet
c606b31167
minor optimization: only track seqPos->posInSrc when validateSequences is enabled
...
note: very minor saving, no performance impact
2024-12-16 20:44:06 -08:00
Yann Collet
db28a7a85f
minor doc update
2024-12-16 20:44:06 -08:00
Yann Collet
ad3a3b2a4c
minor optimization for ZSTD_compressSequencesAndLiterals()
...
does not need to track and update internal `litPtr`.
note: does not measurably impact performance.
2024-12-16 20:44:05 -08:00
Yann Collet
c808c37f1a
minor conversion warning fix
2024-12-16 20:44:05 -08:00
Yann Collet
814ea4ec51
fullbench: new scenario: compressSequencesAndLiterals()
2024-12-16 20:44:05 -08:00
Yann Collet
9743acc4b6
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-16 20:44:05 -08:00
Yann Collet
a27635dccc
add the compressSequences() benchmark scenario
2024-12-16 20:44:05 -08:00
Yann Collet
3bcc097a95
fullbench: preparation functions are now in charge of allocating buffers
2024-12-16 20:44:05 -08:00
Yann Collet
58fd0d3a1f
minor variable renaming
2024-12-16 20:44:05 -08:00
Yann Collet
07a8c79372
minor: test reordering
2024-12-16 20:44:05 -08:00
Yann Collet
061c6a5623
refactor fullbench
...
to make it easier to add new scenarios
2024-12-16 20:44:05 -08:00
Yann Collet
23ab161469
prepare fullbench for a refactor
2024-12-16 20:44:05 -08:00
Yann Collet
e94e23c67f
added unit tests to ZSTD_compressSequencesAndLiterals()
...
seems to work as expected,
correctly control that `litSize` and `srcSize` are exactly correct.
2024-12-16 20:44:05 -08:00
Yann Collet
ac1e4bef10
produced ZSTD_compressSequencesAndLiterals() as a separate pipeline
...
only supports explicit delimiter mode, at least for the time being
2024-12-16 20:44:05 -08:00
Yann Collet
ed136a3379
minor: more accurate variable scope
2024-12-16 20:44:05 -08:00
Yann Collet
f0f8030870
ZSTD_SequenceCopier_f no returns the nb of bytes consumed from input
...
which feels much more natural
2024-12-16 20:44:05 -08:00
Yann Collet
41b1ed8262
codemod: ZSTD_cParamMode_e -> ZSTD_CParamMode_e
2024-12-16 20:44:05 -08:00
Yann Collet
fe315d0875
codemod: ZSTD_paramSwitch_e -> ZSTD_ParamSwitch_e
2024-12-16 20:44:05 -08:00
Yann Collet
92747abca3
minor simplification
2024-12-16 20:44:04 -08:00
Yann Collet
f381665c6a
fix minor artifact error in single_file_lib
2024-12-16 20:44:04 -08:00
Yann Collet
157f4b61ae
doc: add mention of frame checksum incompatibility
...
for new prototype ZSTD_compressSequencesAndLiterals()
2024-12-16 20:44:04 -08:00
Yann Collet
2c4fbd7274
codemod: ZSTD_blockCompressor -> ZSTD_BlockCompressor_f
2024-12-16 20:44:04 -08:00
Yann Collet
69ee2ca78b
codemod: rawSeqStore_t -> RawSeqStore_t
2024-12-16 20:44:04 -08:00
Yann Collet
a39dace71e
codemod: repcodes_t -> Repcodes_t
2024-12-16 20:44:04 -08:00
Yann Collet
4668f0c55a
codemod: ZSTD_matchState_t -> ZSTD_MatchState_t
2024-12-16 20:44:04 -08:00
Yann Collet
05d200a651
codemod: ZSTD_buildSeqStore_e -> ZSTD_BuildSeqStore_e
2024-12-16 20:44:04 -08:00
Yann Collet
8c737fb8da
codemod: ZSTD_sequencePosition -> ZSTD_SequencePosition
2024-12-16 20:44:04 -08:00
Yann Collet
c574b588e6
enable proper type
2024-12-16 20:44:04 -08:00
Yann Collet
8669333d32
fix proper type for .forceNonContiguous
2024-12-16 20:44:04 -08:00
Yann Collet
29a7408137
scope: ZSTD_copySequencesToSeqStore*() are private to ZSTD_compress.c
...
no need to publish them outside of this unit.
2024-12-16 20:44:04 -08:00
Yann Collet
086346eb1f
minor: simplify ZSTD_selectSequenceCopier
2024-12-16 20:44:04 -08:00
Yann Collet
1abf4b5a94
codemod: ZSTD_sequenceCopier -> ZSTD_SequenceCopier_f
2024-12-16 20:44:04 -08:00
Yann Collet
2426d96ae6
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-16 20:44:04 -08:00
Yann Collet
7ab49659c6
created ZSTD_entropyCompressSeqStore_wExtLitBuffer()
...
can receive externally defined buffer of literals
2024-12-16 20:44:04 -08:00
Yann Collet
296e5b1258
ZSTD_entropyCompressSeqStore_internal() can accept an externally defined literals buffer
2024-12-16 20:44:03 -08:00
Yann Collet
7556771d29
codemod: ZSTD_defaultPolicy_e -> ZSTD_DefaultPolicy_e
2024-12-16 20:44:03 -08:00
Yann Collet
7e9dc06c06
codemod: symbolEncodingType_e -> SymbolEncodingType_e
2024-12-16 20:44:03 -08:00