bench.c : implemented single pass mode -i0
This commit is contained in:
+9
-8
@@ -126,13 +126,13 @@ static U32 g_displayLevel = 2; /* 0 : no display; 1: errors; 2 : + result
|
|||||||
/* *************************************
|
/* *************************************
|
||||||
* Benchmark Parameters
|
* Benchmark Parameters
|
||||||
***************************************/
|
***************************************/
|
||||||
static int nbIterations = NBLOOPS;
|
static U32 g_nbIterations = NBLOOPS;
|
||||||
static size_t g_blockSize = 0;
|
static size_t g_blockSize = 0;
|
||||||
|
|
||||||
void BMK_SetNbIterations(int nbLoops)
|
void BMK_SetNbIterations(unsigned nbLoops)
|
||||||
{
|
{
|
||||||
nbIterations = nbLoops;
|
g_nbIterations = nbLoops;
|
||||||
DISPLAY("- %i iterations -\n", nbIterations);
|
DISPLAY("- %i iterations -\n", g_nbIterations);
|
||||||
}
|
}
|
||||||
|
|
||||||
void BMK_SetBlockSize(size_t blockSize)
|
void BMK_SetBlockSize(size_t blockSize)
|
||||||
@@ -238,7 +238,7 @@ static int BMK_benchMem(const void* srcBuffer, size_t srcSize,
|
|||||||
|
|
||||||
/* Bench */
|
/* Bench */
|
||||||
{
|
{
|
||||||
int loopNb;
|
U32 loopNb;
|
||||||
size_t cSize = 0;
|
size_t cSize = 0;
|
||||||
double fastestC = 100000000., fastestD = 100000000.;
|
double fastestC = 100000000., fastestD = 100000000.;
|
||||||
double ratio = 0.;
|
double ratio = 0.;
|
||||||
@@ -246,10 +246,11 @@ static int BMK_benchMem(const void* srcBuffer, size_t srcSize,
|
|||||||
clock_t coolTime = clock();
|
clock_t coolTime = clock();
|
||||||
|
|
||||||
DISPLAY("\r%79s\r", "");
|
DISPLAY("\r%79s\r", "");
|
||||||
for (loopNb = 1; loopNb <= nbIterations; loopNb++) {
|
for (loopNb = 1; loopNb <= (g_nbIterations + !g_nbIterations); loopNb++) {
|
||||||
int nbLoops;
|
int nbLoops;
|
||||||
U32 blockNb;
|
U32 blockNb;
|
||||||
clock_t clockStart, clockSpan;
|
clock_t clockStart, clockSpan;
|
||||||
|
clock_t const clockLoop = g_nbIterations ? TIMELOOP_S * CLOCKS_PER_SEC : 10;
|
||||||
|
|
||||||
/* overheat protection */
|
/* overheat protection */
|
||||||
if (BMK_clockSpan(coolTime) > ACTIVEPERIOD_S * CLOCKS_PER_SEC) {
|
if (BMK_clockSpan(coolTime) > ACTIVEPERIOD_S * CLOCKS_PER_SEC) {
|
||||||
@@ -266,7 +267,7 @@ static int BMK_benchMem(const void* srcBuffer, size_t srcSize,
|
|||||||
clockStart = clock();
|
clockStart = clock();
|
||||||
while (clock() == clockStart);
|
while (clock() == clockStart);
|
||||||
clockStart = clock();
|
clockStart = clock();
|
||||||
while (BMK_clockSpan(clockStart) < TIMELOOP_S * CLOCKS_PER_SEC) {
|
while (BMK_clockSpan(clockStart) < clockLoop) {
|
||||||
ZSTD_compressBegin_advanced(refCtx, dictBuffer, dictBufferSize, ZSTD_getParams(cLevel, MAX(dictBufferSize, largestBlockSize)));
|
ZSTD_compressBegin_advanced(refCtx, dictBuffer, dictBufferSize, ZSTD_getParams(cLevel, MAX(dictBufferSize, largestBlockSize)));
|
||||||
for (blockNb=0; blockNb<nbBlocks; blockNb++) {
|
for (blockNb=0; blockNb<nbBlocks; blockNb++) {
|
||||||
size_t rSize = ZSTD_compress_usingPreparedCCtx(ctx, refCtx,
|
size_t rSize = ZSTD_compress_usingPreparedCCtx(ctx, refCtx,
|
||||||
@@ -297,7 +298,7 @@ static int BMK_benchMem(const void* srcBuffer, size_t srcSize,
|
|||||||
while (clock() == clockStart);
|
while (clock() == clockStart);
|
||||||
clockStart = clock();
|
clockStart = clock();
|
||||||
|
|
||||||
for ( ; BMK_clockSpan(clockStart) < TIMELOOP_S * CLOCKS_PER_SEC; nbLoops++) {
|
for ( ; BMK_clockSpan(clockStart) < clockLoop; nbLoops++) {
|
||||||
ZSTD_decompressBegin_usingDict(refDCtx, dictBuffer, dictBufferSize);
|
ZSTD_decompressBegin_usingDict(refDCtx, dictBuffer, dictBufferSize);
|
||||||
for (blockNb=0; blockNb<nbBlocks; blockNb++) {
|
for (blockNb=0; blockNb<nbBlocks; blockNb++) {
|
||||||
size_t regenSize = ZSTD_decompress_usingPreparedDCtx(dctx, refDCtx,
|
size_t regenSize = ZSTD_decompress_usingPreparedDCtx(dctx, refDCtx,
|
||||||
|
|||||||
+1
-1
@@ -30,7 +30,7 @@ int BMK_benchFiles(const char** fileNamesTable, unsigned nbFiles,
|
|||||||
const char* dictFileName, int cLevel);
|
const char* dictFileName, int cLevel);
|
||||||
|
|
||||||
/* Set Parameters */
|
/* Set Parameters */
|
||||||
void BMK_SetNbIterations(int nbLoops);
|
void BMK_SetNbIterations(unsigned nbLoops);
|
||||||
void BMK_SetBlockSize(size_t blockSize);
|
void BMK_SetBlockSize(size_t blockSize);
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user