ZSTD_customMem customMem;
U32 dictID;
int compressionLevel; /* 0 indicates that advanced API was used to select CDict params */
- ZSTD_useRowMatchFinderMode_e useRowMatchFinder; /* Indicates whether the CDict was created with params that would use
- * row-based matchfinder. Unless the cdict is reloaded, we will use
- * the same greedy/lazy matchfinder at compression time.
- */
+ ZSTD_paramSwitch_e useRowMatchFinder; /* Indicates whether the CDict was created with params that would use
+ * row-based matchfinder. Unless the cdict is reloaded, we will use
+ * the same greedy/lazy matchfinder at compression time.
+ */
}; /* typedef'd to ZSTD_CDict within "zstd.h" */
ZSTD_CCtx* ZSTD_createCCtx(void)
/* Returns true if the strategy and useRowMatchFinder mode indicate that we will use the row based matchfinder
* for this compression.
*/
-static int ZSTD_rowMatchFinderUsed(const ZSTD_strategy strategy, const ZSTD_useRowMatchFinderMode_e mode) {
- assert(mode != ZSTD_urm_auto);
- return ZSTD_rowMatchFinderSupported(strategy) && (mode == ZSTD_urm_enableRowMatchFinder);
+static int ZSTD_rowMatchFinderUsed(const ZSTD_strategy strategy, const ZSTD_paramSwitch_e mode) {
+ assert(mode != ZSTD_ps_auto);
+ return ZSTD_rowMatchFinderSupported(strategy) && (mode == ZSTD_ps_enable);
}
-/* Returns row matchfinder usage enum given an initial mode and cParams */
-static ZSTD_useRowMatchFinderMode_e ZSTD_resolveRowMatchFinderMode(ZSTD_useRowMatchFinderMode_e mode,
- const ZSTD_compressionParameters* const cParams) {
+/* Returns row matchfinder usage given an initial mode and cParams */
+static ZSTD_paramSwitch_e ZSTD_resolveRowMatchFinderMode(ZSTD_paramSwitch_e mode,
+ const ZSTD_compressionParameters* const cParams) {
#if defined(ZSTD_ARCH_X86_SSE2) || defined(ZSTD_ARCH_ARM_NEON)
int const kHasSIMD128 = 1;
#else
int const kHasSIMD128 = 0;
#endif
- if (mode != ZSTD_urm_auto) return mode; /* if requested enabled, but no SIMD, we still will use row matchfinder */
- mode = ZSTD_urm_disableRowMatchFinder;
+ if (mode != ZSTD_ps_auto) return mode; /* if requested enabled, but no SIMD, we still will use row matchfinder */
+ mode = ZSTD_ps_disable;
if (!ZSTD_rowMatchFinderSupported(cParams->strategy)) return mode;
if (kHasSIMD128) {
- if (cParams->windowLog > 14) mode = ZSTD_urm_enableRowMatchFinder;
+ if (cParams->windowLog > 14) mode = ZSTD_ps_enable;
} else {
- if (cParams->windowLog > 17) mode = ZSTD_urm_enableRowMatchFinder;
+ if (cParams->windowLog > 17) mode = ZSTD_ps_enable;
}
return mode;
}
+/* Returns block splitter usage (generally speaking, when using slower/stronger compression modes) */
+static ZSTD_paramSwitch_e ZSTD_resolveBlockSplitterMode(ZSTD_paramSwitch_e mode,
+ const ZSTD_compressionParameters* const cParams) {
+ if (mode != ZSTD_ps_auto) return mode;
+ return (cParams->strategy >= ZSTD_btopt && cParams->windowLog >= 17) ? ZSTD_ps_enable : ZSTD_ps_disable;
+}
+
/* Returns 1 if the arguments indicate that we should allocate a chainTable, 0 otherwise */
static int ZSTD_allocateChainTable(const ZSTD_strategy strategy,
- const ZSTD_useRowMatchFinderMode_e useRowMatchFinder,
+ const ZSTD_paramSwitch_e useRowMatchFinder,
const U32 forDDSDict) {
- assert(useRowMatchFinder != ZSTD_urm_auto);
+ assert(useRowMatchFinder != ZSTD_ps_auto);
/* We always should allocate a chaintable if we are allocating a matchstate for a DDS dictionary matchstate.
* We do not allocate a chaintable if we are using ZSTD_fast, or are using the row-based matchfinder.
*/
return cParams->strategy >= ZSTD_btopt && cParams->windowLog >= 27;
}
-/* Returns 1 if compression parameters are such that we should
- * enable blockSplitter (wlog >= 17, strategy >= btopt).
- * Returns 0 otherwise.
- */
-static U32 ZSTD_CParams_useBlockSplitter(const ZSTD_compressionParameters* const cParams) {
- return cParams->strategy >= ZSTD_btopt && cParams->windowLog >= 17;
-}
-
static ZSTD_CCtx_params ZSTD_makeCCtxParamsFromCParams(
ZSTD_compressionParameters cParams)
{
assert(cctxParams.ldmParams.hashRateLog < 32);
}
- if (ZSTD_CParams_useBlockSplitter(&cParams)) {
- DEBUGLOG(4, "ZSTD_makeCCtxParamsFromCParams(): Including block splitting into cctx params");
- cctxParams.splitBlocks = 1;
- }
-
+ cctxParams.useBlockSplitter = ZSTD_resolveBlockSplitterMode(cctxParams.useBlockSplitter, &cParams);
cctxParams.useRowMatchFinder = ZSTD_resolveRowMatchFinderMode(cctxParams.useRowMatchFinder, &cParams);
assert(!ZSTD_checkCParams(cParams));
return cctxParams;
*/
cctxParams->compressionLevel = compressionLevel;
cctxParams->useRowMatchFinder = ZSTD_resolveRowMatchFinderMode(cctxParams->useRowMatchFinder, ¶ms->cParams);
- DEBUGLOG(4, "ZSTD_CCtxParams_init_internal: useRowMatchFinder=%d", cctxParams->useRowMatchFinder);
+ cctxParams->useBlockSplitter = ZSTD_resolveBlockSplitterMode(cctxParams->useBlockSplitter, ¶ms->cParams);
+ DEBUGLOG(4, "ZSTD_CCtxParams_init_internal: useRowMatchFinder=%d, useBlockSplitter=%d", cctxParams->useRowMatchFinder, cctxParams->useBlockSplitter);
if (ZSTD_CParams_shouldEnableLdm(¶ms->cParams)) {
/* Enable LDM by default for optimal parser and window size >= 128MB */
DEBUGLOG(4, "LDM enabled by default (window size >= 128MB, strategy >= btopt)");
cctxParams->ldmParams.enableLdm = 1;
}
-
- if (ZSTD_CParams_useBlockSplitter(¶ms->cParams)) {
- DEBUGLOG(4, "Block splitter enabled by default (window size >= 128K, strategy >= btopt)");
- cctxParams->splitBlocks = 1;
- }
}
size_t ZSTD_CCtxParams_init_advanced(ZSTD_CCtx_params* cctxParams, ZSTD_parameters params)
return bounds;
case ZSTD_c_literalCompressionMode:
- ZSTD_STATIC_ASSERT(ZSTD_lcm_auto < ZSTD_lcm_huffman && ZSTD_lcm_huffman < ZSTD_lcm_uncompressed);
- bounds.lowerBound = ZSTD_lcm_auto;
- bounds.upperBound = ZSTD_lcm_uncompressed;
+ ZSTD_STATIC_ASSERT(ZSTD_ps_auto < ZSTD_ps_enable && ZSTD_ps_enable < ZSTD_ps_disable);
+ bounds.lowerBound = (int)ZSTD_ps_auto;
+ bounds.upperBound = (int)ZSTD_ps_disable;
return bounds;
case ZSTD_c_targetCBlockSize:
bounds.upperBound = 1;
return bounds;
- case ZSTD_c_splitBlocks:
- bounds.lowerBound = 0;
- bounds.upperBound = 1;
+ case ZSTD_c_useBlockSplitter:
+ bounds.lowerBound = (int)ZSTD_ps_auto;
+ bounds.upperBound = (int)ZSTD_ps_disable;
return bounds;
case ZSTD_c_useRowMatchFinder:
- bounds.lowerBound = (int)ZSTD_urm_auto;
- bounds.upperBound = (int)ZSTD_urm_enableRowMatchFinder;
+ bounds.lowerBound = (int)ZSTD_ps_auto;
+ bounds.upperBound = (int)ZSTD_ps_disable;
return bounds;
case ZSTD_c_deterministicRefPrefix:
case ZSTD_c_stableOutBuffer:
case ZSTD_c_blockDelimiters:
case ZSTD_c_validateSequences:
- case ZSTD_c_splitBlocks:
+ case ZSTD_c_useBlockSplitter:
case ZSTD_c_useRowMatchFinder:
case ZSTD_c_deterministicRefPrefix:
default:
case ZSTD_c_stableOutBuffer:
case ZSTD_c_blockDelimiters:
case ZSTD_c_validateSequences:
- case ZSTD_c_splitBlocks:
+ case ZSTD_c_useBlockSplitter:
case ZSTD_c_useRowMatchFinder:
case ZSTD_c_deterministicRefPrefix:
break;
}
case ZSTD_c_literalCompressionMode : {
- const ZSTD_literalCompressionMode_e lcm = (ZSTD_literalCompressionMode_e)value;
+ const ZSTD_paramSwitch_e lcm = (ZSTD_paramSwitch_e)value;
BOUNDCHECK(ZSTD_c_literalCompressionMode, lcm);
CCtxParams->literalCompressionMode = lcm;
return CCtxParams->literalCompressionMode;
CCtxParams->validateSequences = value;
return CCtxParams->validateSequences;
- case ZSTD_c_splitBlocks:
- BOUNDCHECK(ZSTD_c_splitBlocks, value);
- CCtxParams->splitBlocks = value;
- return CCtxParams->splitBlocks;
+ case ZSTD_c_useBlockSplitter:
+ BOUNDCHECK(ZSTD_c_useBlockSplitter, value);
+ CCtxParams->useBlockSplitter = (ZSTD_paramSwitch_e)value;
+ return CCtxParams->useBlockSplitter;
case ZSTD_c_useRowMatchFinder:
BOUNDCHECK(ZSTD_c_useRowMatchFinder, value);
- CCtxParams->useRowMatchFinder = (ZSTD_useRowMatchFinderMode_e)value;
+ CCtxParams->useRowMatchFinder = (ZSTD_paramSwitch_e)value;
return CCtxParams->useRowMatchFinder;
case ZSTD_c_deterministicRefPrefix:
case ZSTD_c_validateSequences :
*value = (int)CCtxParams->validateSequences;
break;
- case ZSTD_c_splitBlocks :
- *value = (int)CCtxParams->splitBlocks;
+ case ZSTD_c_useBlockSplitter :
+ *value = (int)CCtxParams->useBlockSplitter;
break;
case ZSTD_c_useRowMatchFinder :
*value = (int)CCtxParams->useRowMatchFinder;
static size_t
ZSTD_sizeof_matchState(const ZSTD_compressionParameters* const cParams,
- const ZSTD_useRowMatchFinderMode_e useRowMatchFinder,
+ const ZSTD_paramSwitch_e useRowMatchFinder,
const U32 enableDedicatedDictSearch,
const U32 forCCtx)
{
/* tables are guaranteed to be sized in multiples of 64 bytes (or 16 uint32_t) */
ZSTD_STATIC_ASSERT(ZSTD_HASHLOG_MIN >= 4 && ZSTD_WINDOWLOG_MIN >= 4 && ZSTD_CHAINLOG_MIN >= 4);
- assert(useRowMatchFinder != ZSTD_urm_auto);
+ assert(useRowMatchFinder != ZSTD_ps_auto);
DEBUGLOG(4, "chainSize: %u - hSize: %u - h3Size: %u",
(U32)chainSize, (U32)hSize, (U32)h3Size);
const ZSTD_compressionParameters* cParams,
const ldmParams_t* ldmParams,
const int isStatic,
- const ZSTD_useRowMatchFinderMode_e useRowMatchFinder,
+ const ZSTD_paramSwitch_e useRowMatchFinder,
const size_t buffInSize,
const size_t buffOutSize,
const U64 pledgedSrcSize)
{
ZSTD_compressionParameters const cParams =
ZSTD_getCParamsFromCCtxParams(params, ZSTD_CONTENTSIZE_UNKNOWN, 0, ZSTD_cpm_noAttachDict);
- ZSTD_useRowMatchFinderMode_e const useRowMatchFinder = ZSTD_resolveRowMatchFinderMode(params->useRowMatchFinder,
+ ZSTD_paramSwitch_e const useRowMatchFinder = ZSTD_resolveRowMatchFinderMode(params->useRowMatchFinder,
&cParams);
RETURN_ERROR_IF(params->nbWorkers > 0, GENERIC, "Estimate CCtx size is supported for single-threaded compression only.");
/* Pick bigger of not using and using row-based matchfinder for greedy and lazy strategies */
size_t noRowCCtxSize;
size_t rowCCtxSize;
- initialParams.useRowMatchFinder = ZSTD_urm_disableRowMatchFinder;
+ initialParams.useRowMatchFinder = ZSTD_ps_disable;
noRowCCtxSize = ZSTD_estimateCCtxSize_usingCCtxParams(&initialParams);
- initialParams.useRowMatchFinder = ZSTD_urm_enableRowMatchFinder;
+ initialParams.useRowMatchFinder = ZSTD_ps_enable;
rowCCtxSize = ZSTD_estimateCCtxSize_usingCCtxParams(&initialParams);
return MAX(noRowCCtxSize, rowCCtxSize);
} else {
size_t const outBuffSize = (params->outBufferMode == ZSTD_bm_buffered)
? ZSTD_compressBound(blockSize) + 1
: 0;
- ZSTD_useRowMatchFinderMode_e const useRowMatchFinder = ZSTD_resolveRowMatchFinderMode(params->useRowMatchFinder, ¶ms->cParams);
+ ZSTD_paramSwitch_e const useRowMatchFinder = ZSTD_resolveRowMatchFinderMode(params->useRowMatchFinder, ¶ms->cParams);
return ZSTD_estimateCCtxSize_usingCCtxParams_internal(
&cParams, ¶ms->ldmParams, 1, useRowMatchFinder, inBuffSize, outBuffSize,
/* Pick bigger of not using and using row-based matchfinder for greedy and lazy strategies */
size_t noRowCCtxSize;
size_t rowCCtxSize;
- initialParams.useRowMatchFinder = ZSTD_urm_disableRowMatchFinder;
+ initialParams.useRowMatchFinder = ZSTD_ps_disable;
noRowCCtxSize = ZSTD_estimateCStreamSize_usingCCtxParams(&initialParams);
- initialParams.useRowMatchFinder = ZSTD_urm_enableRowMatchFinder;
+ initialParams.useRowMatchFinder = ZSTD_ps_enable;
rowCCtxSize = ZSTD_estimateCStreamSize_usingCCtxParams(&initialParams);
return MAX(noRowCCtxSize, rowCCtxSize);
} else {
ZSTD_reset_matchState(ZSTD_matchState_t* ms,
ZSTD_cwksp* ws,
const ZSTD_compressionParameters* cParams,
- const ZSTD_useRowMatchFinderMode_e useRowMatchFinder,
+ const ZSTD_paramSwitch_e useRowMatchFinder,
const ZSTD_compResetPolicy_e crp,
const ZSTD_indexResetPolicy_e forceResetIndex,
const ZSTD_resetTarget_e forWho)
size_t const h3Size = hashLog3 ? ((size_t)1) << hashLog3 : 0;
DEBUGLOG(4, "reset indices : %u", forceResetIndex == ZSTDirp_reset);
- assert(useRowMatchFinder != ZSTD_urm_auto);
+ assert(useRowMatchFinder != ZSTD_ps_auto);
if (forceResetIndex == ZSTDirp_reset) {
ZSTD_window_init(&ms->window);
ZSTD_cwksp_mark_tables_dirty(ws);
ZSTD_buffered_policy_e const zbuff)
{
ZSTD_cwksp* const ws = &zc->workspace;
- DEBUGLOG(4, "ZSTD_resetCCtx_internal: pledgedSrcSize=%u, wlog=%u, useRowMatchFinder=%d",
- (U32)pledgedSrcSize, params->cParams.windowLog, (int)params->useRowMatchFinder);
+ DEBUGLOG(4, "ZSTD_resetCCtx_internal: pledgedSrcSize=%u, wlog=%u, useRowMatchFinder=%d useBlockSplitter=%d",
+ (U32)pledgedSrcSize, params->cParams.windowLog, (int)params->useRowMatchFinder, (int)params->useBlockSplitter);
assert(!ZSTD_isError(ZSTD_checkCParams(params->cParams)));
zc->isFirstBlock = 1;
zc->appliedParams = *params;
params = &zc->appliedParams;
- assert(params->useRowMatchFinder != ZSTD_urm_auto);
+ assert(params->useRowMatchFinder != ZSTD_ps_auto);
+ assert(params->useBlockSplitter != ZSTD_ps_auto);
if (params->ldmParams.enableLdm) {
/* Adjust long distance matching parameters */
ZSTD_ldm_adjustParameters(&zc->appliedParams.ldmParams, ¶ms->cParams);
}
ZSTD_cwksp_mark_tables_dirty(&cctx->workspace);
- assert(params.useRowMatchFinder != ZSTD_urm_auto);
+ assert(params.useRowMatchFinder != ZSTD_ps_auto);
/* copy tables */
{ size_t const chainSize = ZSTD_allocateChainTable(cdict_cParams->strategy, cdict->useRowMatchFinder, 0 /* DDS guaranteed disabled */)
{ ZSTD_CCtx_params params = dstCCtx->requestedParams;
/* Copy only compression parameters related to tables. */
params.cParams = srcCCtx->appliedParams.cParams;
- assert(srcCCtx->appliedParams.useRowMatchFinder != ZSTD_urm_auto);
+ assert(srcCCtx->appliedParams.useRowMatchFinder != ZSTD_ps_auto);
+ assert(srcCCtx->appliedParams.useBlockSplitter != ZSTD_ps_auto);
params.useRowMatchFinder = srcCCtx->appliedParams.useRowMatchFinder;
+ params.useBlockSplitter = srcCCtx->appliedParams.useBlockSplitter;
params.fParams = fParams;
ZSTD_resetCCtx_internal(dstCCtx, ¶ms, pledgedSrcSize,
/* loadedDictSize */ 0,
/* ZSTD_blockSplitterEnabled():
* Returns if block splitting param is being used
* If used, compression will do best effort to split a block in order to improve compression ratio.
+ * At the time this function is called, the parameter must be finalized.
* Returns 1 if true, 0 otherwise. */
static int ZSTD_blockSplitterEnabled(ZSTD_CCtx_params* cctxParams)
{
- DEBUGLOG(5, "ZSTD_blockSplitterEnabled(splitBlocks=%d)", cctxParams->splitBlocks);
- return (cctxParams->splitBlocks != 0);
+ DEBUGLOG(5, "ZSTD_blockSplitterEnabled (useBlockSplitter=%d)", cctxParams->useBlockSplitter);
+ assert(cctxParams->useBlockSplitter != ZSTD_ps_auto);
+ return (cctxParams->useBlockSplitter == ZSTD_ps_enable);
}
/* Type returned by ZSTD_buildSequencesStatistics containing finalized symbol encoding types
size_t const cSize = ZSTD_compressLiterals(
&prevEntropy->huf, &nextEntropy->huf,
cctxParams->cParams.strategy,
- ZSTD_disableLiteralsCompression(cctxParams),
+ ZSTD_literalsCompressionIsDisabled(cctxParams),
op, dstCapacity,
literals, litSize,
entropyWorkspace, entropyWkspSize,
/* ZSTD_selectBlockCompressor() :
* Not static, but internal use only (used by long distance matcher)
* assumption : strat is a valid strategy */
-ZSTD_blockCompressor ZSTD_selectBlockCompressor(ZSTD_strategy strat, ZSTD_useRowMatchFinderMode_e useRowMatchFinder, ZSTD_dictMode_e dictMode)
+ZSTD_blockCompressor ZSTD_selectBlockCompressor(ZSTD_strategy strat, ZSTD_paramSwitch_e useRowMatchFinder, ZSTD_dictMode_e dictMode)
{
static const ZSTD_blockCompressor blockCompressor[4][ZSTD_STRATEGY_MAX+1] = {
{ ZSTD_compressBlock_fast /* default for 0 */,
ZSTD_compressBlock_lazy2_dedicatedDictSearch_row }
};
DEBUGLOG(4, "Selecting a row-based matchfinder");
- assert(useRowMatchFinder != ZSTD_urm_auto);
+ assert(useRowMatchFinder != ZSTD_ps_auto);
selectedCompressor = rowBasedBlockCompressors[(int)dictMode][(int)strat - (int)ZSTD_greedy];
} else {
selectedCompressor = blockCompressor[(int)dictMode][(int)strat];
const ZSTD_hufCTables_t* prevHuf,
ZSTD_hufCTables_t* nextHuf,
ZSTD_hufCTablesMetadata_t* hufMetadata,
- const int disableLiteralsCompression,
+ const int literalsCompressionIsDisabled,
void* workspace, size_t wkspSize)
{
BYTE* const wkspStart = (BYTE*)workspace;
/* Prepare nextEntropy assuming reusing the existing table */
ZSTD_memcpy(nextHuf, prevHuf, sizeof(*prevHuf));
- if (disableLiteralsCompression) {
+ if (literalsCompressionIsDisabled) {
DEBUGLOG(5, "set_basic - disabled");
hufMetadata->hType = set_basic;
return 0;
ZSTD_buildBlockEntropyStats_literals(seqStorePtr->litStart, litSize,
&prevEntropy->huf, &nextEntropy->huf,
&entropyMetadata->hufMetadata,
- ZSTD_disableLiteralsCompression(cctxParams),
+ ZSTD_literalsCompressionIsDisabled(cctxParams),
workspace, wkspSize);
FORWARD_IF_ERROR(entropyMetadata->hufMetadata.hufDesSize, "ZSTD_buildBlockEntropyStats_literals failed");
entropyMetadata->fseMetadata.fseTablesSize =
U32 nbSeq;
size_t cSize;
DEBUGLOG(4, "ZSTD_compressBlock_splitBlock");
+ assert(zc->appliedParams.useBlockSplitter == ZSTD_ps_enable);
{ const size_t bss = ZSTD_buildSeqStore(zc, src, srcSize);
FORWARD_IF_ERROR(bss, "ZSTD_buildSeqStore failed");
nbSeq = (U32)(zc->seqStore.sequences - zc->seqStore.sequencesStart);
}
- assert(zc->appliedParams.splitBlocks == 1);
cSize = ZSTD_compressBlock_splitBlock_internal(zc, dst, dstCapacity, src, srcSize, lastBlock, nbSeq);
FORWARD_IF_ERROR(cSize, "Splitting blocks failed!");
return cSize;
assert(ms->chainTable != NULL);
ZSTD_dedicatedDictSearch_lazy_loadDictionary(ms, iend-HASH_READ_SIZE);
} else {
- assert(params->useRowMatchFinder != ZSTD_urm_auto);
- if (params->useRowMatchFinder == ZSTD_urm_enableRowMatchFinder) {
+ assert(params->useRowMatchFinder != ZSTD_ps_auto);
+ if (params->useRowMatchFinder == ZSTD_ps_enable) {
size_t const tagTableSize = ((size_t)1 << params->cParams.hashLog) * sizeof(U16);
ZSTD_memset(ms->tagTable, 0, tagTableSize);
ZSTD_row_update(ms, iend-HASH_READ_SIZE);
+ ZSTD_cwksp_alloc_size(HUF_WORKSPACE_SIZE)
/* enableDedicatedDictSearch == 1 ensures that CDict estimation will not be too small
* in case we are using DDS with row-hash. */
- + ZSTD_sizeof_matchState(&cParams, ZSTD_resolveRowMatchFinderMode(ZSTD_urm_auto, &cParams),
+ + ZSTD_sizeof_matchState(&cParams, ZSTD_resolveRowMatchFinderMode(ZSTD_ps_auto, &cParams),
/* enableDedicatedDictSearch */ 1, /* forCCtx */ 0)
+ (dictLoadMethod == ZSTD_dlm_byRef ? 0
: ZSTD_cwksp_alloc_size(ZSTD_cwksp_align(dictSize, sizeof(void *))));
static ZSTD_CDict* ZSTD_createCDict_advanced_internal(size_t dictSize,
ZSTD_dictLoadMethod_e dictLoadMethod,
ZSTD_compressionParameters cParams,
- ZSTD_useRowMatchFinderMode_e useRowMatchFinder,
+ ZSTD_paramSwitch_e useRowMatchFinder,
U32 enableDedicatedDictSearch,
ZSTD_customMem customMem)
{
ZSTD_dictContentType_e dictContentType,
ZSTD_compressionParameters cParams)
{
- ZSTD_useRowMatchFinderMode_e const useRowMatchFinder = ZSTD_resolveRowMatchFinderMode(ZSTD_urm_auto, &cParams);
+ ZSTD_paramSwitch_e const useRowMatchFinder = ZSTD_resolveRowMatchFinderMode(ZSTD_ps_auto, &cParams);
/* enableDedicatedDictSearch == 1 ensures matchstate is not too small in case this CDict will be used for DDS + row hash */
size_t const matchStateSize = ZSTD_sizeof_matchState(&cParams, useRowMatchFinder, /* enableDedicatedDictSearch */ 1, /* forCCtx */ 0);
size_t const neededSize = ZSTD_cwksp_alloc_size(sizeof(ZSTD_CDict))
params.ldmParams.enableLdm = 1;
}
- if (ZSTD_CParams_useBlockSplitter(¶ms.cParams)) {
- DEBUGLOG(4, "Block splitter enabled by default (window size >= 128K, strategy >= btopt)");
- params.splitBlocks = 1;
- }
-
+ params.useBlockSplitter = ZSTD_resolveBlockSplitterMode(params.useBlockSplitter, ¶ms.cParams);
params.useRowMatchFinder = ZSTD_resolveRowMatchFinderMode(params.useRowMatchFinder, ¶ms.cParams);
#ifdef ZSTD_MULTITHREAD
silesia, level 1, advanced one pass, 5309098
silesia, level 3, advanced one pass, 4849553
silesia, level 4, advanced one pass, 4786968
-silesia, level 5 row 1, advanced one pass, 4640752
-silesia, level 5 row 2, advanced one pass, 4638961
+silesia, level 5 row 1, advanced one pass, 4638961
+silesia, level 5 row 2, advanced one pass, 4640752
silesia, level 5, advanced one pass, 4638961
silesia, level 6, advanced one pass, 4605369
-silesia, level 7 row 1, advanced one pass, 4564868
-silesia, level 7 row 2, advanced one pass, 4567204
+silesia, level 7 row 1, advanced one pass, 4567204
+silesia, level 7 row 2, advanced one pass, 4564868
silesia, level 7, advanced one pass, 4567204
silesia, level 9, advanced one pass, 4543310
-silesia, level 11 row 1, advanced one pass, 4519288
-silesia, level 11 row 2, advanced one pass, 4521399
-silesia, level 12 row 1, advanced one pass, 4503116
-silesia, level 12 row 2, advanced one pass, 4505153
+silesia, level 11 row 1, advanced one pass, 4521399
+silesia, level 11 row 2, advanced one pass, 4519288
+silesia, level 12 row 1, advanced one pass, 4505153
+silesia, level 12 row 2, advanced one pass, 4503116
silesia, level 13, advanced one pass, 4493990
silesia, level 16, advanced one pass, 4359864
silesia, level 19, advanced one pass, 4296880
silesia.tar, level 1, advanced one pass, 5331946
silesia.tar, level 3, advanced one pass, 4861424
silesia.tar, level 4, advanced one pass, 4799632
-silesia.tar, level 5 row 1, advanced one pass, 4652862
-silesia.tar, level 5 row 2, advanced one pass, 4650202
+silesia.tar, level 5 row 1, advanced one pass, 4650202
+silesia.tar, level 5 row 2, advanced one pass, 4652862
silesia.tar, level 5, advanced one pass, 4650202
silesia.tar, level 6, advanced one pass, 4616811
-silesia.tar, level 7 row 1, advanced one pass, 4575393
-silesia.tar, level 7 row 2, advanced one pass, 4576829
+silesia.tar, level 7 row 1, advanced one pass, 4576829
+silesia.tar, level 7 row 2, advanced one pass, 4575393
silesia.tar, level 7, advanced one pass, 4576829
silesia.tar, level 9, advanced one pass, 4552584
-silesia.tar, level 11 row 1, advanced one pass, 4529461
-silesia.tar, level 11 row 2, advanced one pass, 4530256
-silesia.tar, level 12 row 1, advanced one pass, 4513604
-silesia.tar, level 12 row 2, advanced one pass, 4514568
+silesia.tar, level 11 row 1, advanced one pass, 4530256
+silesia.tar, level 11 row 2, advanced one pass, 4529461
+silesia.tar, level 12 row 1, advanced one pass, 4514568
+silesia.tar, level 12 row 2, advanced one pass, 4513604
silesia.tar, level 13, advanced one pass, 4502956
silesia.tar, level 16, advanced one pass, 4360527
silesia.tar, level 19, advanced one pass, 4267266
github, level 4 with dict dds, advanced one pass, 41251
github, level 4 with dict copy, advanced one pass, 41216
github, level 4 with dict load, advanced one pass, 41159
-github, level 5 row 1, advanced one pass, 135121
-github, level 5 row 1 with dict dms, advanced one pass, 38938
-github, level 5 row 1 with dict dds, advanced one pass, 38732
-github, level 5 row 1 with dict copy, advanced one pass, 38934
-github, level 5 row 1 with dict load, advanced one pass, 40725
-github, level 5 row 2, advanced one pass, 134584
-github, level 5 row 2 with dict dms, advanced one pass, 38758
-github, level 5 row 2 with dict dds, advanced one pass, 38728
-github, level 5 row 2 with dict copy, advanced one pass, 38759
-github, level 5 row 2 with dict load, advanced one pass, 41518
+github, level 5 row 1, advanced one pass, 134584
+github, level 5 row 1 with dict dms, advanced one pass, 38758
+github, level 5 row 1 with dict dds, advanced one pass, 38728
+github, level 5 row 1 with dict copy, advanced one pass, 38759
+github, level 5 row 1 with dict load, advanced one pass, 41518
+github, level 5 row 2, advanced one pass, 135121
+github, level 5 row 2 with dict dms, advanced one pass, 38938
+github, level 5 row 2 with dict dds, advanced one pass, 38732
+github, level 5 row 2 with dict copy, advanced one pass, 38934
+github, level 5 row 2 with dict load, advanced one pass, 40725
github, level 5, advanced one pass, 135121
github, level 5 with dict, advanced one pass, 38758
github, level 5 with dict dms, advanced one pass, 38758
github, level 6 with dict dds, advanced one pass, 38636
github, level 6 with dict copy, advanced one pass, 38669
github, level 6 with dict load, advanced one pass, 40695
-github, level 7 row 1, advanced one pass, 135122
-github, level 7 row 1 with dict dms, advanced one pass, 38860
-github, level 7 row 1 with dict dds, advanced one pass, 38766
-github, level 7 row 1 with dict copy, advanced one pass, 38834
-github, level 7 row 1 with dict load, advanced one pass, 40695
-github, level 7 row 2, advanced one pass, 134584
-github, level 7 row 2 with dict dms, advanced one pass, 38758
-github, level 7 row 2 with dict dds, advanced one pass, 38745
-github, level 7 row 2 with dict copy, advanced one pass, 38755
-github, level 7 row 2 with dict load, advanced one pass, 43154
+github, level 7 row 1, advanced one pass, 134584
+github, level 7 row 1 with dict dms, advanced one pass, 38758
+github, level 7 row 1 with dict dds, advanced one pass, 38745
+github, level 7 row 1 with dict copy, advanced one pass, 38755
+github, level 7 row 1 with dict load, advanced one pass, 43154
+github, level 7 row 2, advanced one pass, 135122
+github, level 7 row 2 with dict dms, advanced one pass, 38860
+github, level 7 row 2 with dict dds, advanced one pass, 38766
+github, level 7 row 2 with dict copy, advanced one pass, 38834
+github, level 7 row 2 with dict load, advanced one pass, 40695
github, level 7, advanced one pass, 135122
github, level 7 with dict, advanced one pass, 38758
github, level 7 with dict dms, advanced one pass, 38758
github.tar, level 4 with dict dds, advanced one pass, 37954
github.tar, level 4 with dict copy, advanced one pass, 37948
github.tar, level 4 with dict load, advanced one pass, 37927
-github.tar, level 5 row 1, advanced one pass, 38534
-github.tar, level 5 row 1 with dict dms, advanced one pass, 39365
-github.tar, level 5 row 1 with dict dds, advanced one pass, 39233
-github.tar, level 5 row 1 with dict copy, advanced one pass, 39715
-github.tar, level 5 row 1 with dict load, advanced one pass, 38019
-github.tar, level 5 row 2, advanced one pass, 38376
-github.tar, level 5 row 2 with dict dms, advanced one pass, 39024
-github.tar, level 5 row 2 with dict dds, advanced one pass, 39028
-github.tar, level 5 row 2 with dict copy, advanced one pass, 39040
-github.tar, level 5 row 2 with dict load, advanced one pass, 37600
+github.tar, level 5 row 1, advanced one pass, 38376
+github.tar, level 5 row 1 with dict dms, advanced one pass, 39024
+github.tar, level 5 row 1 with dict dds, advanced one pass, 39028
+github.tar, level 5 row 1 with dict copy, advanced one pass, 39040
+github.tar, level 5 row 1 with dict load, advanced one pass, 37600
+github.tar, level 5 row 2, advanced one pass, 38534
+github.tar, level 5 row 2 with dict dms, advanced one pass, 39365
+github.tar, level 5 row 2 with dict dds, advanced one pass, 39233
+github.tar, level 5 row 2 with dict copy, advanced one pass, 39715
+github.tar, level 5 row 2 with dict load, advanced one pass, 38019
github.tar, level 5, advanced one pass, 38376
github.tar, level 5 with dict, advanced one pass, 39040
github.tar, level 5 with dict dms, advanced one pass, 39024
github.tar, level 6 with dict dds, advanced one pass, 38610
github.tar, level 6 with dict copy, advanced one pass, 38622
github.tar, level 6 with dict load, advanced one pass, 37829
-github.tar, level 7 row 1, advanced one pass, 38077
-github.tar, level 7 row 1 with dict dms, advanced one pass, 38012
-github.tar, level 7 row 1 with dict dds, advanced one pass, 38014
-github.tar, level 7 row 1 with dict copy, advanced one pass, 38101
-github.tar, level 7 row 1 with dict load, advanced one pass, 37402
-github.tar, level 7 row 2, advanced one pass, 38073
-github.tar, level 7 row 2 with dict dms, advanced one pass, 37848
-github.tar, level 7 row 2 with dict dds, advanced one pass, 37869
-github.tar, level 7 row 2 with dict copy, advanced one pass, 37848
-github.tar, level 7 row 2 with dict load, advanced one pass, 37371
+github.tar, level 7 row 1, advanced one pass, 38073
+github.tar, level 7 row 1 with dict dms, advanced one pass, 37848
+github.tar, level 7 row 1 with dict dds, advanced one pass, 37869
+github.tar, level 7 row 1 with dict copy, advanced one pass, 37848
+github.tar, level 7 row 1 with dict load, advanced one pass, 37371
+github.tar, level 7 row 2, advanced one pass, 38077
+github.tar, level 7 row 2 with dict dms, advanced one pass, 38012
+github.tar, level 7 row 2 with dict dds, advanced one pass, 38014
+github.tar, level 7 row 2 with dict copy, advanced one pass, 38101
+github.tar, level 7 row 2 with dict load, advanced one pass, 37402
github.tar, level 7, advanced one pass, 38073
github.tar, level 7 with dict, advanced one pass, 37848
github.tar, level 7 with dict dms, advanced one pass, 37848
github.tar, level 11 row 1 with dict dms, advanced one pass, 36963
github.tar, level 11 row 1 with dict dds, advanced one pass, 36963
github.tar, level 11 row 1 with dict copy, advanced one pass, 36557
-github.tar, level 11 row 1 with dict load, advanced one pass, 36419
+github.tar, level 11 row 1 with dict load, advanced one pass, 36424
github.tar, level 11 row 2, advanced one pass, 36435
github.tar, level 11 row 2 with dict dms, advanced one pass, 36963
github.tar, level 11 row 2 with dict dds, advanced one pass, 36963
github.tar, level 11 row 2 with dict copy, advanced one pass, 36557
-github.tar, level 11 row 2 with dict load, advanced one pass, 36424
-github.tar, level 12 row 1, advanced one pass, 36110
+github.tar, level 11 row 2 with dict load, advanced one pass, 36419
+github.tar, level 12 row 1, advanced one pass, 36105
github.tar, level 12 row 1 with dict dms, advanced one pass, 36986
github.tar, level 12 row 1 with dict dds, advanced one pass, 36986
github.tar, level 12 row 1 with dict copy, advanced one pass, 36609
-github.tar, level 12 row 1 with dict load, advanced one pass, 36459
-github.tar, level 12 row 2, advanced one pass, 36105
+github.tar, level 12 row 1 with dict load, advanced one pass, 36460
+github.tar, level 12 row 2, advanced one pass, 36110
github.tar, level 12 row 2 with dict dms, advanced one pass, 36986
github.tar, level 12 row 2 with dict dds, advanced one pass, 36986
github.tar, level 12 row 2 with dict copy, advanced one pass, 36609
-github.tar, level 12 row 2 with dict load, advanced one pass, 36460
+github.tar, level 12 row 2 with dict load, advanced one pass, 36459
github.tar, level 13, advanced one pass, 35501
github.tar, level 13 with dict, advanced one pass, 37130
github.tar, level 13 with dict dms, advanced one pass, 37267
silesia, level 1, advanced one pass small out, 5309098
silesia, level 3, advanced one pass small out, 4849553
silesia, level 4, advanced one pass small out, 4786968
-silesia, level 5 row 1, advanced one pass small out, 4640752
-silesia, level 5 row 2, advanced one pass small out, 4638961
+silesia, level 5 row 1, advanced one pass small out, 4638961
+silesia, level 5 row 2, advanced one pass small out, 4640752
silesia, level 5, advanced one pass small out, 4638961
silesia, level 6, advanced one pass small out, 4605369
-silesia, level 7 row 1, advanced one pass small out, 4564868
-silesia, level 7 row 2, advanced one pass small out, 4567204
+silesia, level 7 row 1, advanced one pass small out, 4567204
+silesia, level 7 row 2, advanced one pass small out, 4564868
silesia, level 7, advanced one pass small out, 4567204
silesia, level 9, advanced one pass small out, 4543310
-silesia, level 11 row 1, advanced one pass small out, 4519288
-silesia, level 11 row 2, advanced one pass small out, 4521399
-silesia, level 12 row 1, advanced one pass small out, 4503116
-silesia, level 12 row 2, advanced one pass small out, 4505153
+silesia, level 11 row 1, advanced one pass small out, 4521399
+silesia, level 11 row 2, advanced one pass small out, 4519288
+silesia, level 12 row 1, advanced one pass small out, 4505153
+silesia, level 12 row 2, advanced one pass small out, 4503116
silesia, level 13, advanced one pass small out, 4493990
silesia, level 16, advanced one pass small out, 4359864
silesia, level 19, advanced one pass small out, 4296880
silesia.tar, level 1, advanced one pass small out, 5331946
silesia.tar, level 3, advanced one pass small out, 4861424
silesia.tar, level 4, advanced one pass small out, 4799632
-silesia.tar, level 5 row 1, advanced one pass small out, 4652862
-silesia.tar, level 5 row 2, advanced one pass small out, 4650202
+silesia.tar, level 5 row 1, advanced one pass small out, 4650202
+silesia.tar, level 5 row 2, advanced one pass small out, 4652862
silesia.tar, level 5, advanced one pass small out, 4650202
silesia.tar, level 6, advanced one pass small out, 4616811
-silesia.tar, level 7 row 1, advanced one pass small out, 4575393
-silesia.tar, level 7 row 2, advanced one pass small out, 4576829
+silesia.tar, level 7 row 1, advanced one pass small out, 4576829
+silesia.tar, level 7 row 2, advanced one pass small out, 4575393
silesia.tar, level 7, advanced one pass small out, 4576829
silesia.tar, level 9, advanced one pass small out, 4552584
-silesia.tar, level 11 row 1, advanced one pass small out, 4529461
-silesia.tar, level 11 row 2, advanced one pass small out, 4530256
-silesia.tar, level 12 row 1, advanced one pass small out, 4513604
-silesia.tar, level 12 row 2, advanced one pass small out, 4514568
+silesia.tar, level 11 row 1, advanced one pass small out, 4530256
+silesia.tar, level 11 row 2, advanced one pass small out, 4529461
+silesia.tar, level 12 row 1, advanced one pass small out, 4514568
+silesia.tar, level 12 row 2, advanced one pass small out, 4513604
silesia.tar, level 13, advanced one pass small out, 4502956
silesia.tar, level 16, advanced one pass small out, 4360527
silesia.tar, level 19, advanced one pass small out, 4267266
github, level 4 with dict dds, advanced one pass small out, 41251
github, level 4 with dict copy, advanced one pass small out, 41216
github, level 4 with dict load, advanced one pass small out, 41159
-github, level 5 row 1, advanced one pass small out, 135121
-github, level 5 row 1 with dict dms, advanced one pass small out, 38938
-github, level 5 row 1 with dict dds, advanced one pass small out, 38732
-github, level 5 row 1 with dict copy, advanced one pass small out, 38934
-github, level 5 row 1 with dict load, advanced one pass small out, 40725
-github, level 5 row 2, advanced one pass small out, 134584
-github, level 5 row 2 with dict dms, advanced one pass small out, 38758
-github, level 5 row 2 with dict dds, advanced one pass small out, 38728
-github, level 5 row 2 with dict copy, advanced one pass small out, 38759
-github, level 5 row 2 with dict load, advanced one pass small out, 41518
+github, level 5 row 1, advanced one pass small out, 134584
+github, level 5 row 1 with dict dms, advanced one pass small out, 38758
+github, level 5 row 1 with dict dds, advanced one pass small out, 38728
+github, level 5 row 1 with dict copy, advanced one pass small out, 38759
+github, level 5 row 1 with dict load, advanced one pass small out, 41518
+github, level 5 row 2, advanced one pass small out, 135121
+github, level 5 row 2 with dict dms, advanced one pass small out, 38938
+github, level 5 row 2 with dict dds, advanced one pass small out, 38732
+github, level 5 row 2 with dict copy, advanced one pass small out, 38934
+github, level 5 row 2 with dict load, advanced one pass small out, 40725
github, level 5, advanced one pass small out, 135121
github, level 5 with dict, advanced one pass small out, 38758
github, level 5 with dict dms, advanced one pass small out, 38758
github, level 6 with dict dds, advanced one pass small out, 38636
github, level 6 with dict copy, advanced one pass small out, 38669
github, level 6 with dict load, advanced one pass small out, 40695
-github, level 7 row 1, advanced one pass small out, 135122
-github, level 7 row 1 with dict dms, advanced one pass small out, 38860
-github, level 7 row 1 with dict dds, advanced one pass small out, 38766
-github, level 7 row 1 with dict copy, advanced one pass small out, 38834
-github, level 7 row 1 with dict load, advanced one pass small out, 40695
-github, level 7 row 2, advanced one pass small out, 134584
-github, level 7 row 2 with dict dms, advanced one pass small out, 38758
-github, level 7 row 2 with dict dds, advanced one pass small out, 38745
-github, level 7 row 2 with dict copy, advanced one pass small out, 38755
-github, level 7 row 2 with dict load, advanced one pass small out, 43154
+github, level 7 row 1, advanced one pass small out, 134584
+github, level 7 row 1 with dict dms, advanced one pass small out, 38758
+github, level 7 row 1 with dict dds, advanced one pass small out, 38745
+github, level 7 row 1 with dict copy, advanced one pass small out, 38755
+github, level 7 row 1 with dict load, advanced one pass small out, 43154
+github, level 7 row 2, advanced one pass small out, 135122
+github, level 7 row 2 with dict dms, advanced one pass small out, 38860
+github, level 7 row 2 with dict dds, advanced one pass small out, 38766
+github, level 7 row 2 with dict copy, advanced one pass small out, 38834
+github, level 7 row 2 with dict load, advanced one pass small out, 40695
github, level 7, advanced one pass small out, 135122
github, level 7 with dict, advanced one pass small out, 38758
github, level 7 with dict dms, advanced one pass small out, 38758
github.tar, level 4 with dict dds, advanced one pass small out, 37954
github.tar, level 4 with dict copy, advanced one pass small out, 37948
github.tar, level 4 with dict load, advanced one pass small out, 37927
-github.tar, level 5 row 1, advanced one pass small out, 38534
-github.tar, level 5 row 1 with dict dms, advanced one pass small out, 39365
-github.tar, level 5 row 1 with dict dds, advanced one pass small out, 39233
-github.tar, level 5 row 1 with dict copy, advanced one pass small out, 39715
-github.tar, level 5 row 1 with dict load, advanced one pass small out, 38019
-github.tar, level 5 row 2, advanced one pass small out, 38376
-github.tar, level 5 row 2 with dict dms, advanced one pass small out, 39024
-github.tar, level 5 row 2 with dict dds, advanced one pass small out, 39028
-github.tar, level 5 row 2 with dict copy, advanced one pass small out, 39040
-github.tar, level 5 row 2 with dict load, advanced one pass small out, 37600
+github.tar, level 5 row 1, advanced one pass small out, 38376
+github.tar, level 5 row 1 with dict dms, advanced one pass small out, 39024
+github.tar, level 5 row 1 with dict dds, advanced one pass small out, 39028
+github.tar, level 5 row 1 with dict copy, advanced one pass small out, 39040
+github.tar, level 5 row 1 with dict load, advanced one pass small out, 37600
+github.tar, level 5 row 2, advanced one pass small out, 38534
+github.tar, level 5 row 2 with dict dms, advanced one pass small out, 39365
+github.tar, level 5 row 2 with dict dds, advanced one pass small out, 39233
+github.tar, level 5 row 2 with dict copy, advanced one pass small out, 39715
+github.tar, level 5 row 2 with dict load, advanced one pass small out, 38019
github.tar, level 5, advanced one pass small out, 38376
github.tar, level 5 with dict, advanced one pass small out, 39040
github.tar, level 5 with dict dms, advanced one pass small out, 39024
github.tar, level 6 with dict dds, advanced one pass small out, 38610
github.tar, level 6 with dict copy, advanced one pass small out, 38622
github.tar, level 6 with dict load, advanced one pass small out, 37829
-github.tar, level 7 row 1, advanced one pass small out, 38077
-github.tar, level 7 row 1 with dict dms, advanced one pass small out, 38012
-github.tar, level 7 row 1 with dict dds, advanced one pass small out, 38014
-github.tar, level 7 row 1 with dict copy, advanced one pass small out, 38101
-github.tar, level 7 row 1 with dict load, advanced one pass small out, 37402
-github.tar, level 7 row 2, advanced one pass small out, 38073
-github.tar, level 7 row 2 with dict dms, advanced one pass small out, 37848
-github.tar, level 7 row 2 with dict dds, advanced one pass small out, 37869
-github.tar, level 7 row 2 with dict copy, advanced one pass small out, 37848
-github.tar, level 7 row 2 with dict load, advanced one pass small out, 37371
+github.tar, level 7 row 1, advanced one pass small out, 38073
+github.tar, level 7 row 1 with dict dms, advanced one pass small out, 37848
+github.tar, level 7 row 1 with dict dds, advanced one pass small out, 37869
+github.tar, level 7 row 1 with dict copy, advanced one pass small out, 37848
+github.tar, level 7 row 1 with dict load, advanced one pass small out, 37371
+github.tar, level 7 row 2, advanced one pass small out, 38077
+github.tar, level 7 row 2 with dict dms, advanced one pass small out, 38012
+github.tar, level 7 row 2 with dict dds, advanced one pass small out, 38014
+github.tar, level 7 row 2 with dict copy, advanced one pass small out, 38101
+github.tar, level 7 row 2 with dict load, advanced one pass small out, 37402
github.tar, level 7, advanced one pass small out, 38073
github.tar, level 7 with dict, advanced one pass small out, 37848
github.tar, level 7 with dict dms, advanced one pass small out, 37848
github.tar, level 11 row 1 with dict dms, advanced one pass small out, 36963
github.tar, level 11 row 1 with dict dds, advanced one pass small out, 36963
github.tar, level 11 row 1 with dict copy, advanced one pass small out, 36557
-github.tar, level 11 row 1 with dict load, advanced one pass small out, 36419
+github.tar, level 11 row 1 with dict load, advanced one pass small out, 36424
github.tar, level 11 row 2, advanced one pass small out, 36435
github.tar, level 11 row 2 with dict dms, advanced one pass small out, 36963
github.tar, level 11 row 2 with dict dds, advanced one pass small out, 36963
github.tar, level 11 row 2 with dict copy, advanced one pass small out, 36557
-github.tar, level 11 row 2 with dict load, advanced one pass small out, 36424
-github.tar, level 12 row 1, advanced one pass small out, 36110
+github.tar, level 11 row 2 with dict load, advanced one pass small out, 36419
+github.tar, level 12 row 1, advanced one pass small out, 36105
github.tar, level 12 row 1 with dict dms, advanced one pass small out, 36986
github.tar, level 12 row 1 with dict dds, advanced one pass small out, 36986
github.tar, level 12 row 1 with dict copy, advanced one pass small out, 36609
-github.tar, level 12 row 1 with dict load, advanced one pass small out, 36459
-github.tar, level 12 row 2, advanced one pass small out, 36105
+github.tar, level 12 row 1 with dict load, advanced one pass small out, 36460
+github.tar, level 12 row 2, advanced one pass small out, 36110
github.tar, level 12 row 2 with dict dms, advanced one pass small out, 36986
github.tar, level 12 row 2 with dict dds, advanced one pass small out, 36986
github.tar, level 12 row 2 with dict copy, advanced one pass small out, 36609
-github.tar, level 12 row 2 with dict load, advanced one pass small out, 36460
+github.tar, level 12 row 2 with dict load, advanced one pass small out, 36459
github.tar, level 13, advanced one pass small out, 35501
github.tar, level 13 with dict, advanced one pass small out, 37130
github.tar, level 13 with dict dms, advanced one pass small out, 37267
silesia, level 1, advanced streaming, 5312694
silesia, level 3, advanced streaming, 4849553
silesia, level 4, advanced streaming, 4786968
-silesia, level 5 row 1, advanced streaming, 4640752
-silesia, level 5 row 2, advanced streaming, 4638961
+silesia, level 5 row 1, advanced streaming, 4638961
+silesia, level 5 row 2, advanced streaming, 4640752
silesia, level 5, advanced streaming, 4638961
silesia, level 6, advanced streaming, 4605369
-silesia, level 7 row 1, advanced streaming, 4564868
-silesia, level 7 row 2, advanced streaming, 4567204
+silesia, level 7 row 1, advanced streaming, 4567204
+silesia, level 7 row 2, advanced streaming, 4564868
silesia, level 7, advanced streaming, 4567204
silesia, level 9, advanced streaming, 4543310
-silesia, level 11 row 1, advanced streaming, 4519288
-silesia, level 11 row 2, advanced streaming, 4521399
-silesia, level 12 row 1, advanced streaming, 4503116
-silesia, level 12 row 2, advanced streaming, 4505153
+silesia, level 11 row 1, advanced streaming, 4521399
+silesia, level 11 row 2, advanced streaming, 4519288
+silesia, level 12 row 1, advanced streaming, 4505153
+silesia, level 12 row 2, advanced streaming, 4503116
silesia, level 13, advanced streaming, 4493990
silesia, level 16, advanced streaming, 4359864
silesia, level 19, advanced streaming, 4296880
silesia.tar, level 1, advanced streaming, 5334890
silesia.tar, level 3, advanced streaming, 4861426
silesia.tar, level 4, advanced streaming, 4799632
-silesia.tar, level 5 row 1, advanced streaming, 4652866
-silesia.tar, level 5 row 2, advanced streaming, 4650207
+silesia.tar, level 5 row 1, advanced streaming, 4650207
+silesia.tar, level 5 row 2, advanced streaming, 4652866
silesia.tar, level 5, advanced streaming, 4650207
silesia.tar, level 6, advanced streaming, 4616816
-silesia.tar, level 7 row 1, advanced streaming, 4575394
-silesia.tar, level 7 row 2, advanced streaming, 4576831
+silesia.tar, level 7 row 1, advanced streaming, 4576831
+silesia.tar, level 7 row 2, advanced streaming, 4575394
silesia.tar, level 7, advanced streaming, 4576831
silesia.tar, level 9, advanced streaming, 4552590
-silesia.tar, level 11 row 1, advanced streaming, 4529461
-silesia.tar, level 11 row 2, advanced streaming, 4530258
-silesia.tar, level 12 row 1, advanced streaming, 4513604
-silesia.tar, level 12 row 2, advanced streaming, 4514569
+silesia.tar, level 11 row 1, advanced streaming, 4530258
+silesia.tar, level 11 row 2, advanced streaming, 4529461
+silesia.tar, level 12 row 1, advanced streaming, 4514569
+silesia.tar, level 12 row 2, advanced streaming, 4513604
silesia.tar, level 13, advanced streaming, 4502956
silesia.tar, level 16, advanced streaming, 4360527
silesia.tar, level 19, advanced streaming, 4267266
github, level 4 with dict dds, advanced streaming, 41251
github, level 4 with dict copy, advanced streaming, 41216
github, level 4 with dict load, advanced streaming, 41159
-github, level 5 row 1, advanced streaming, 135121
-github, level 5 row 1 with dict dms, advanced streaming, 38938
-github, level 5 row 1 with dict dds, advanced streaming, 38732
-github, level 5 row 1 with dict copy, advanced streaming, 38934
-github, level 5 row 1 with dict load, advanced streaming, 40725
-github, level 5 row 2, advanced streaming, 134584
-github, level 5 row 2 with dict dms, advanced streaming, 38758
-github, level 5 row 2 with dict dds, advanced streaming, 38728
-github, level 5 row 2 with dict copy, advanced streaming, 38759
-github, level 5 row 2 with dict load, advanced streaming, 41518
+github, level 5 row 1, advanced streaming, 134584
+github, level 5 row 1 with dict dms, advanced streaming, 38758
+github, level 5 row 1 with dict dds, advanced streaming, 38728
+github, level 5 row 1 with dict copy, advanced streaming, 38759
+github, level 5 row 1 with dict load, advanced streaming, 41518
+github, level 5 row 2, advanced streaming, 135121
+github, level 5 row 2 with dict dms, advanced streaming, 38938
+github, level 5 row 2 with dict dds, advanced streaming, 38732
+github, level 5 row 2 with dict copy, advanced streaming, 38934
+github, level 5 row 2 with dict load, advanced streaming, 40725
github, level 5, advanced streaming, 135121
github, level 5 with dict, advanced streaming, 38758
github, level 5 with dict dms, advanced streaming, 38758
github, level 6 with dict dds, advanced streaming, 38636
github, level 6 with dict copy, advanced streaming, 38669
github, level 6 with dict load, advanced streaming, 40695
-github, level 7 row 1, advanced streaming, 135122
-github, level 7 row 1 with dict dms, advanced streaming, 38860
-github, level 7 row 1 with dict dds, advanced streaming, 38766
-github, level 7 row 1 with dict copy, advanced streaming, 38834
-github, level 7 row 1 with dict load, advanced streaming, 40695
-github, level 7 row 2, advanced streaming, 134584
-github, level 7 row 2 with dict dms, advanced streaming, 38758
-github, level 7 row 2 with dict dds, advanced streaming, 38745
-github, level 7 row 2 with dict copy, advanced streaming, 38755
-github, level 7 row 2 with dict load, advanced streaming, 43154
+github, level 7 row 1, advanced streaming, 134584
+github, level 7 row 1 with dict dms, advanced streaming, 38758
+github, level 7 row 1 with dict dds, advanced streaming, 38745
+github, level 7 row 1 with dict copy, advanced streaming, 38755
+github, level 7 row 1 with dict load, advanced streaming, 43154
+github, level 7 row 2, advanced streaming, 135122
+github, level 7 row 2 with dict dms, advanced streaming, 38860
+github, level 7 row 2 with dict dds, advanced streaming, 38766
+github, level 7 row 2 with dict copy, advanced streaming, 38834
+github, level 7 row 2 with dict load, advanced streaming, 40695
github, level 7, advanced streaming, 135122
github, level 7 with dict, advanced streaming, 38758
github, level 7 with dict dms, advanced streaming, 38758
github.tar, level 4 with dict dds, advanced streaming, 37954
github.tar, level 4 with dict copy, advanced streaming, 37948
github.tar, level 4 with dict load, advanced streaming, 37927
-github.tar, level 5 row 1, advanced streaming, 38534
-github.tar, level 5 row 1 with dict dms, advanced streaming, 39365
-github.tar, level 5 row 1 with dict dds, advanced streaming, 39233
-github.tar, level 5 row 1 with dict copy, advanced streaming, 39715
-github.tar, level 5 row 1 with dict load, advanced streaming, 38019
-github.tar, level 5 row 2, advanced streaming, 38376
-github.tar, level 5 row 2 with dict dms, advanced streaming, 39024
-github.tar, level 5 row 2 with dict dds, advanced streaming, 39028
-github.tar, level 5 row 2 with dict copy, advanced streaming, 39040
-github.tar, level 5 row 2 with dict load, advanced streaming, 37600
+github.tar, level 5 row 1, advanced streaming, 38376
+github.tar, level 5 row 1 with dict dms, advanced streaming, 39024
+github.tar, level 5 row 1 with dict dds, advanced streaming, 39028
+github.tar, level 5 row 1 with dict copy, advanced streaming, 39040
+github.tar, level 5 row 1 with dict load, advanced streaming, 37600
+github.tar, level 5 row 2, advanced streaming, 38534
+github.tar, level 5 row 2 with dict dms, advanced streaming, 39365
+github.tar, level 5 row 2 with dict dds, advanced streaming, 39233
+github.tar, level 5 row 2 with dict copy, advanced streaming, 39715
+github.tar, level 5 row 2 with dict load, advanced streaming, 38019
github.tar, level 5, advanced streaming, 38376
github.tar, level 5 with dict, advanced streaming, 39040
github.tar, level 5 with dict dms, advanced streaming, 39024
github.tar, level 6 with dict dds, advanced streaming, 38610
github.tar, level 6 with dict copy, advanced streaming, 38622
github.tar, level 6 with dict load, advanced streaming, 37829
-github.tar, level 7 row 1, advanced streaming, 38077
-github.tar, level 7 row 1 with dict dms, advanced streaming, 38012
-github.tar, level 7 row 1 with dict dds, advanced streaming, 38014
-github.tar, level 7 row 1 with dict copy, advanced streaming, 38101
-github.tar, level 7 row 1 with dict load, advanced streaming, 37402
-github.tar, level 7 row 2, advanced streaming, 38073
-github.tar, level 7 row 2 with dict dms, advanced streaming, 37848
-github.tar, level 7 row 2 with dict dds, advanced streaming, 37869
-github.tar, level 7 row 2 with dict copy, advanced streaming, 37848
-github.tar, level 7 row 2 with dict load, advanced streaming, 37371
+github.tar, level 7 row 1, advanced streaming, 38073
+github.tar, level 7 row 1 with dict dms, advanced streaming, 37848
+github.tar, level 7 row 1 with dict dds, advanced streaming, 37869
+github.tar, level 7 row 1 with dict copy, advanced streaming, 37848
+github.tar, level 7 row 1 with dict load, advanced streaming, 37371
+github.tar, level 7 row 2, advanced streaming, 38077
+github.tar, level 7 row 2 with dict dms, advanced streaming, 38012
+github.tar, level 7 row 2 with dict dds, advanced streaming, 38014
+github.tar, level 7 row 2 with dict copy, advanced streaming, 38101
+github.tar, level 7 row 2 with dict load, advanced streaming, 37402
github.tar, level 7, advanced streaming, 38073
github.tar, level 7 with dict, advanced streaming, 37848
github.tar, level 7 with dict dms, advanced streaming, 37848
github.tar, level 11 row 1 with dict dms, advanced streaming, 36963
github.tar, level 11 row 1 with dict dds, advanced streaming, 36963
github.tar, level 11 row 1 with dict copy, advanced streaming, 36557
-github.tar, level 11 row 1 with dict load, advanced streaming, 36419
+github.tar, level 11 row 1 with dict load, advanced streaming, 36424
github.tar, level 11 row 2, advanced streaming, 36435
github.tar, level 11 row 2 with dict dms, advanced streaming, 36963
github.tar, level 11 row 2 with dict dds, advanced streaming, 36963
github.tar, level 11 row 2 with dict copy, advanced streaming, 36557
-github.tar, level 11 row 2 with dict load, advanced streaming, 36424
-github.tar, level 12 row 1, advanced streaming, 36110
+github.tar, level 11 row 2 with dict load, advanced streaming, 36419
+github.tar, level 12 row 1, advanced streaming, 36105
github.tar, level 12 row 1 with dict dms, advanced streaming, 36986
github.tar, level 12 row 1 with dict dds, advanced streaming, 36986
github.tar, level 12 row 1 with dict copy, advanced streaming, 36609
-github.tar, level 12 row 1 with dict load, advanced streaming, 36459
-github.tar, level 12 row 2, advanced streaming, 36105
+github.tar, level 12 row 1 with dict load, advanced streaming, 36460
+github.tar, level 12 row 2, advanced streaming, 36110
github.tar, level 12 row 2 with dict dms, advanced streaming, 36986
github.tar, level 12 row 2 with dict dds, advanced streaming, 36986
github.tar, level 12 row 2 with dict copy, advanced streaming, 36609
-github.tar, level 12 row 2 with dict load, advanced streaming, 36460
+github.tar, level 12 row 2 with dict load, advanced streaming, 36459
github.tar, level 13, advanced streaming, 35501
github.tar, level 13 with dict, advanced streaming, 37130
github.tar, level 13 with dict dms, advanced streaming, 37267