]> git.ipfire.org Git - thirdparty/zstd.git/commitdiff
bench : implemented avgSize
authorYann Collet <yann.collet.73@gmail.com>
Tue, 2 Aug 2016 22:06:24 +0000 (00:06 +0200)
committerYann Collet <yann.collet.73@gmail.com>
Tue, 2 Aug 2016 22:06:24 +0000 (00:06 +0200)
programs/bench.c

index b545cb0076cb4e8d120161fe65bacf13c33c3a00..2364348d621f323f6e75a89923634df8e5d797d0 100644 (file)
@@ -151,6 +151,7 @@ static int BMK_benchMem(const void* srcBuffer, size_t srcSize,
                         const void* dictBuffer, size_t dictBufferSize, benchResult_t *result)
 {
     size_t const blockSize = (g_blockSize>=32 ? g_blockSize : srcSize) + (!srcSize) /* avoid div by 0 */ ;
+    size_t const avgSize = MIN(g_blockSize, (srcSize / nbFiles));
     U32 const maxNbBlocks = (U32) ((srcSize + (blockSize-1)) / blockSize) + nbFiles;
     blockParam_t* const blockTable = (blockParam_t*) malloc(maxNbBlocks * sizeof(blockParam_t));
     size_t const maxCompressedSize = ZSTD_compressBound(srcSize) + (maxNbBlocks * 1024);   /* add some room for safety */
@@ -229,7 +230,7 @@ static int BMK_benchMem(const void* srcBuffer, size_t srcSize,
             UTIL_getTime(&clockStart);
 
             if (!cCompleted) {   /* still some time to do compression tests */
-                ZSTD_parameters const zparams = ZSTD_getParams(cLevel, blockSize, dictBufferSize);
+                ZSTD_parameters const zparams = ZSTD_getParams(cLevel, avgSize, dictBufferSize);
                 ZSTD_customMem const cmem = { NULL, NULL, NULL };
                 U32 nbLoops = 0;
                 ZSTD_CDict* cdict = ZSTD_createCDict_advanced(dictBuffer, dictBufferSize, zparams, cmem);