mirror of
https://github.com/facebook/zstd.git
synced 2025-07-29 11:21:22 +03:00
Merge branch 'dev' of github.com:facebook/zstd into dev
This commit is contained in:
@ -798,6 +798,38 @@ size_t ZSTD_decodingBufferSize_min(unsigned long long windowSize, unsigned long
|
||||
* Decoder cannot recognise automatically this format, requiring instructions. */
|
||||
} ZSTD_format_e;
|
||||
</b></pre><BR>
|
||||
<pre><b>typedef enum {
|
||||
</b>/* Note: this enum and the behavior it controls are effectively internal<b>
|
||||
* implementation details of the compressor. They are expected to continue
|
||||
* to evolve and should be considered only in the context of extremely
|
||||
* advanced performance tuning.
|
||||
*
|
||||
* Zstd currently supports the use of a CDict in two ways:
|
||||
*
|
||||
* - The contents of the CDict can be copied into the working context. This
|
||||
* means that the compression can search both the dictionary and input
|
||||
* while operating on a single set of internal tables. This makes
|
||||
* the compression faster per-byte of input. However, the initial copy of
|
||||
* the CDict's tables incurs a fixed cost at the beginning of the
|
||||
* compression. For small compressions (< 8 KB), that copy can dominate
|
||||
* the cost of the compression.
|
||||
*
|
||||
* - The CDict's tables can be used in-place. In this model, compression is
|
||||
* slower per input byte, because the compressor has to search two sets of
|
||||
* tables. However, this model incurs no start-up cost (as long as the
|
||||
* working context's tables can be reused). For small inputs, this can be
|
||||
* faster than copying the CDict's tables.
|
||||
*
|
||||
* Zstd has a simple internal heuristic that selects which strategy to use
|
||||
* at the beginning of a compression. However, if experimentation shows that
|
||||
* Zstd is making poor choices, it is possible to override that choice with
|
||||
* this enum.
|
||||
*/
|
||||
ZSTD_dictDefaultAttach = 0, </b>/* Use the default heuristic. */<b>
|
||||
ZSTD_dictForceAttach = 1, </b>/* Never copy the dictionary. */<b>
|
||||
ZSTD_dictForceCopy = 2, </b>/* Always copy the dictionary. */<b>
|
||||
} ZSTD_dictAttachPref_e;
|
||||
</b></pre><BR>
|
||||
<pre><b>typedef enum {
|
||||
</b>/* compression format */<b>
|
||||
ZSTD_p_format = 10, </b>/* See ZSTD_format_e enum definition.<b>
|
||||
@ -911,29 +943,14 @@ size_t ZSTD_decodingBufferSize_min(unsigned long long windowSize, unsigned long
|
||||
|
||||
ZSTD_p_forceMaxWindow=1100, </b>/* Force back-reference distances to remain < windowSize,<b>
|
||||
* even when referencing into Dictionary content (default:0) */
|
||||
ZSTD_p_forceAttachDict, </b>/* ZSTD supports usage of a CDict in-place<b>
|
||||
* (avoiding having to copy the compression tables
|
||||
* from the CDict into the working context). Using
|
||||
* a CDict in this way saves an initial setup step,
|
||||
* but comes at the cost of more work per byte of
|
||||
* input. ZSTD has a simple internal heuristic that
|
||||
* guesses which strategy will be faster. You can
|
||||
* use this flag to override that guess.
|
||||
ZSTD_p_forceAttachDict, </b>/* Controls whether the contents of a CDict are<b>
|
||||
* used in place, or whether they are copied into
|
||||
* the working context.
|
||||
*
|
||||
* Note that the by-reference, in-place strategy is
|
||||
* only used when reusing a compression context
|
||||
* with compatible compression parameters. (If
|
||||
* incompatible / uninitialized, the working
|
||||
* context needs to be cleared anyways, which is
|
||||
* about as expensive as overwriting it with the
|
||||
* dictionary context, so there's no savings in
|
||||
* using the CDict by-ref.)
|
||||
*
|
||||
* Values greater than 0 force attaching the dict.
|
||||
* Values less than 0 force copying the dict.
|
||||
* 0 selects the default heuristic-guided behavior.
|
||||
* Accepts values from the ZSTD_dictAttachPref_e
|
||||
* enum. See the comments on that enum for an
|
||||
* explanation of the feature.
|
||||
*/
|
||||
|
||||
} ZSTD_cParameter;
|
||||
</b></pre><BR>
|
||||
<pre><b>size_t ZSTD_CCtx_setParameter(ZSTD_CCtx* cctx, ZSTD_cParameter param, unsigned value);
|
||||
|
Reference in New Issue
Block a user