From e710dc336955918a2121671c0e6579b7b7ce875f Mon Sep 17 00:00:00 2001 From: "W. Felix Handte" Date: Mon, 27 Aug 2018 16:19:24 -0700 Subject: [PATCH] Bump Split Log Support to ZSTD_btlazy2 --- lib/compress/zstd_compress.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/lib/compress/zstd_compress.c b/lib/compress/zstd_compress.c index 8fa42bab..ab457556 100644 --- a/lib/compress/zstd_compress.c +++ b/lib/compress/zstd_compress.c @@ -1320,6 +1320,8 @@ static const size_t attachDictSizeCutoffs[(unsigned)ZSTD_btultra+1] = { 8 KB /* ZSTD_btultra */ }; +static const ZSTD_strategy splitLogCutoffStrategy = ZSTD_btlazy2; + static int ZSTD_shouldAttachDict(ZSTD_CCtx* cctx, const ZSTD_CDict* cdict, ZSTD_CCtx_params params, @@ -1332,8 +1334,8 @@ static int ZSTD_shouldAttachDict(ZSTD_CCtx* cctx, && params.attachDictPref != ZSTD_dictForceCopy && !params.forceWindow /* dictMatchState isn't correctly * handled in _enforceMaxDist */ - && ( (cdict->matchState.cParams.strategy <= ZSTD_dfast) - || (cdict->matchState.cParams.strategy > ZSTD_dfast && + && ( (cdict->matchState.cParams.strategy <= splitLogCutoffStrategy) + || (cdict->matchState.cParams.strategy > splitLogCutoffStrategy && ZSTD_equivalentCParams(cctx->appliedParams.cParams, cdict->matchState.cParams))); } @@ -1351,7 +1353,7 @@ static size_t ZSTD_resetCCtx_byAttachingCDict(ZSTD_CCtx* cctx, /* Copy only compression parameters related to tables. */ params.cParams = *cdict_cParams; params.cParams.windowLog = windowLog; - if (params.cParams.strategy <= ZSTD_dfast) { + if (params.cParams.strategy <= splitLogCutoffStrategy) { DEBUGLOG(4, "Overriding hashLog from %d to %d", params.cParams.hashLog, cctx->requestedParams.cParams.hashLog); DEBUGLOG(4, "Overriding chainLog from %d to %d", params.cParams.chainLog, cctx->requestedParams.cParams.chainLog); if (cctx->requestedParams.cParams.hashLog) @@ -1362,7 +1364,7 @@ static size_t ZSTD_resetCCtx_byAttachingCDict(ZSTD_CCtx* cctx, ZSTD_resetCCtx_internal(cctx, params, pledgedSrcSize, ZSTDcrp_continue, zbuff); assert(cctx->appliedParams.cParams.strategy == cdict_cParams->strategy); - if (params.cParams.strategy > ZSTD_dfast) { + if (params.cParams.strategy > splitLogCutoffStrategy) { assert(cctx->appliedParams.cParams.hashLog == cdict_cParams->hashLog); assert(cctx->appliedParams.cParams.chainLog == cdict_cParams->chainLog); }