1
0
mirror of https://github.com/facebook/zstd.git synced 2025-08-07 06:23:00 +03:00

added -T command , to set nb of threads

This commit is contained in:
Yann Collet
2016-12-28 16:11:09 +01:00
parent ce9e1452fd
commit ab7a579180
3 changed files with 16 additions and 6 deletions

View File

@@ -96,6 +96,7 @@ static U32 g_nbSeconds = NBSECONDS;
static size_t g_blockSize = 0; static size_t g_blockSize = 0;
static int g_additionalParam = 0; static int g_additionalParam = 0;
static U32 g_decodeOnly = 0; static U32 g_decodeOnly = 0;
static U32 g_nbThreads = 1;
void BMK_setNotificationLevel(unsigned level) { g_displayLevel=level; } void BMK_setNotificationLevel(unsigned level) { g_displayLevel=level; }
@@ -113,7 +114,9 @@ void BMK_SetBlockSize(size_t blockSize)
DISPLAYLEVEL(2, "using blocks of size %u KB \n", (U32)(blockSize>>10)); DISPLAYLEVEL(2, "using blocks of size %u KB \n", (U32)(blockSize>>10));
} }
void BMK_setDecodeOnly(unsigned decodeFlag) { g_decodeOnly = (decodeFlag>0); } void BMK_setDecodeOnlyMode(unsigned decodeFlag) { g_decodeOnly = (decodeFlag>0); }
void BMK_SetNbThreads(unsigned nbThreads) { g_nbThreads = nbThreads; }
/* ******************************************************** /* ********************************************************
@@ -156,7 +159,7 @@ static int BMK_benchMem(const void* srcBuffer, size_t srcSize,
U32 nbBlocks; U32 nbBlocks;
UTIL_time_t ticksPerSecond; UTIL_time_t ticksPerSecond;
ZSTDMT_CCtx* const mtcctx = ZSTDMT_createCCtx(1); ZSTDMT_CCtx* const mtcctx = ZSTDMT_createCCtx(g_nbThreads);
/* checks */ /* checks */
if (!compressedBuffer || !resultBuffer || !blockTable || !ctx || !dctx) if (!compressedBuffer || !resultBuffer || !blockTable || !ctx || !dctx)

View File

@@ -21,8 +21,9 @@ int BMK_benchFiles(const char** fileNamesTable, unsigned nbFiles,const char* dic
/* Set Parameters */ /* Set Parameters */
void BMK_SetNbSeconds(unsigned nbLoops); void BMK_SetNbSeconds(unsigned nbLoops);
void BMK_SetBlockSize(size_t blockSize); void BMK_SetBlockSize(size_t blockSize);
void BMK_setAdditionalParam(int additionalParam); void BMK_SetNbThreads(unsigned nbThreads);
void BMK_setNotificationLevel(unsigned level); void BMK_setNotificationLevel(unsigned level);
void BMK_setDecodeOnly(unsigned decodeFlag); void BMK_setAdditionalParam(int additionalParam);
void BMK_setDecodeOnlyMode(unsigned decodeFlag);
#endif /* BENCH_H_121279284357 */ #endif /* BENCH_H_121279284357 */

View File

@@ -352,7 +352,7 @@ int main(int argCount, const char* argv[])
/* Decoding */ /* Decoding */
case 'd': case 'd':
#ifndef ZSTD_NOBENCH #ifndef ZSTD_NOBENCH
if (operation==zom_bench) { BMK_setDecodeOnly(1); argument++; break; } /* benchmark decode (hidden option) */ if (operation==zom_bench) { BMK_setDecodeOnlyMode(1); argument++; break; } /* benchmark decode (hidden option) */
#endif #endif
operation=zom_decompress; argument++; break; operation=zom_decompress; argument++; break;
@@ -430,6 +430,12 @@ int main(int argCount, const char* argv[])
dictSelect = readU32FromChar(&argument); dictSelect = readU32FromChar(&argument);
break; break;
/* nb of threads (hidden option) */
case 'T':
argument++;
BMK_SetNbThreads(readU32FromChar(&argument));
break;
/* Pause at the end (-p) or set an additional param (-p#) (hidden option) */ /* Pause at the end (-p) or set an additional param (-p#) (hidden option) */
case 'p': argument++; case 'p': argument++;
#ifndef ZSTD_NOBENCH #ifndef ZSTD_NOBENCH