]> git.ipfire.org Git - thirdparty/zstd.git/commitdiff
Set threshold to use optimal table log
authorDanielle Rozenblit <drozenblit@fb.com>
Tue, 11 Oct 2022 21:33:25 +0000 (14:33 -0700)
committerDanielle Rozenblit <drozenblit@fb.com>
Tue, 11 Oct 2022 21:33:25 +0000 (14:33 -0700)
lib/common/huf.h
lib/compress/zstd_compress.c

index 6fc38530a17cd3683932ce37cbaf2d1b9d8831c2..72ffbcdff1842df785e2194aa9df7b4498cebc25 100644 (file)
@@ -173,7 +173,7 @@ size_t HUF_decompress4X2_DCtx_wksp(HUF_DTable* dctx, void* dst, size_t dstSize,
 /* ****************************************
  *  HUF detailed API
  * ****************************************/
-#define HUF_OPTIMAL_DEPTH_THRESHOLD 1
+#define HUF_OPTIMAL_DEPTH_THRESHOLD ZSTD_btlazy2
 typedef enum {
    HUF_depth_fast, /** Use heuristic to find the table depth**/
    HUF_depth_optimal /** Test possible table depths to find the one that produces the smallest header + encoded size**/
index 9925c99916403d0ae06d76c719ebef224d0c0cd3..adf1f6e7afc6332da0f967f5f8e6e4411fa9bc37 100644 (file)
@@ -2654,7 +2654,7 @@ ZSTD_entropyCompressSeqStore_internal(seqStore_t* seqStorePtr,
         unsigned const suspectUncompressible = (numSequences == 0) || (numLiterals / numSequences >= SUSPECT_UNCOMPRESSIBLE_LITERAL_RATIO);
         size_t const litSize = (size_t)(seqStorePtr->lit - literals);
 
-        HUF_depth_mode depthMode = cctxParams->cParams.strategy > HUF_OPTIMAL_DEPTH_THRESHOLD ? HUF_depth_optimal : HUF_depth_fast;
+        HUF_depth_mode depthMode = cctxParams->cParams.strategy >= HUF_OPTIMAL_DEPTH_THRESHOLD ? HUF_depth_optimal : HUF_depth_fast;
         size_t const cSize = ZSTD_compressLiterals(
                                     &prevEntropy->huf, &nextEntropy->huf,
                                     cctxParams->cParams.strategy,
@@ -3270,7 +3270,7 @@ size_t ZSTD_buildBlockEntropyStats(seqStore_t* seqStorePtr,
                                    void* workspace, size_t wkspSize)
 {
     size_t const litSize = seqStorePtr->lit - seqStorePtr->litStart;
-    HUF_depth_mode depthMode = cctxParams->cParams.strategy > HUF_OPTIMAL_DEPTH_THRESHOLD ? HUF_depth_optimal : HUF_depth_fast;
+    HUF_depth_mode depthMode = cctxParams->cParams.strategy >= HUF_OPTIMAL_DEPTH_THRESHOLD ? HUF_depth_optimal : HUF_depth_fast;
 
     entropyMetadata->hufMetadata.hufDesSize =
         ZSTD_buildBlockEntropyStats_literals(seqStorePtr->litStart, litSize,