]> git.ipfire.org Git - thirdparty/zstd.git/commitdiff
adjust heuristic decisions
authorYann Collet <cyan@fb.com>
Wed, 12 Sep 2018 19:32:09 +0000 (12:32 -0700)
committerYann Collet <cyan@fb.com>
Wed, 12 Sep 2018 19:32:09 +0000 (12:32 -0700)
lib/decompress/zstd_decompress.c

index 3c08c19f43915840acbb8a0793b7845b31ee871a..5080b943927fe040f6d4be1fe13c3b5485309ae6 100644 (file)
@@ -612,7 +612,7 @@ size_t ZSTD_decodeLiteralsBlock(ZSTD_DCtx* dctx,
                 if (litCSize + lhSize > srcSize) return ERROR(corruption_detected);
 
                 /* prefetch huffman table if cold */
-                if (dctx->ddictIsCold && (litSize > 256 /* heuristic */)) {
+                if (dctx->ddictIsCold && (litSize > 768 /* heuristic */)) {
                     PREFETCH_AREA(dctx->HUFptr, sizeof(dctx->entropy.hufTable));
                 }
 
@@ -917,8 +917,7 @@ static size_t ZSTD_buildSeqTable(ZSTD_seqSymbol* DTableSpace, const ZSTD_seqSymb
     case set_repeat:
         if (!flagRepeatTable) return ERROR(corruption_detected);
         /* prefetch FSE table if used */
-        if (ddictIsCold && (nbSeq > 16 /* heuristic */)) {
-        //if (ddictIsCold) {
+        if (ddictIsCold && (nbSeq > 24 /* heuristic */)) {
             const void* const pStart = *DTablePtr;
             size_t const pSize = sizeof(ZSTD_seqSymbol) * (SEQSYMBOL_TABLE_SIZE(maxLog));
             PREFETCH_AREA(pStart, pSize);