minor: test reordering
This commit is contained in:
+16
-18
@@ -132,14 +132,14 @@ typedef struct {
|
|||||||
size_t fixedOrigSize;
|
size_t fixedOrigSize;
|
||||||
size_t moddedDstCapacity; /* if ==0, no modification */
|
size_t moddedDstCapacity; /* if ==0, no modification */
|
||||||
} PrepResult;
|
} PrepResult;
|
||||||
|
#define PREPRESULT_INIT { 0,0,0 }
|
||||||
|
|
||||||
static PrepResult prepDecompress(void* dst, size_t dstCapacity, const void* src, size_t srcSize, int cLevel)
|
static PrepResult prepDecompress(void* dst, size_t dstCapacity, const void* src, size_t srcSize, int cLevel)
|
||||||
{
|
{
|
||||||
size_t cSize = ZSTD_compress(dst, dstCapacity, src, srcSize, cLevel);
|
size_t cSize = ZSTD_compress(dst, dstCapacity, src, srcSize, cLevel);
|
||||||
PrepResult r;
|
PrepResult r = PREPRESULT_INIT;
|
||||||
r.prepSize = cSize;
|
r.prepSize = cSize;
|
||||||
r.fixedOrigSize = srcSize;
|
r.fixedOrigSize = srcSize;
|
||||||
r.moddedDstCapacity = 0;
|
|
||||||
return r;
|
return r;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -172,7 +172,7 @@ static PrepResult prepLiterals(void* dst, size_t dstCapacity, const void* src, s
|
|||||||
{ blockProperties_t bp;
|
{ blockProperties_t bp;
|
||||||
ZSTD_getcBlockSize((char*)dst+frameHeaderSize, dstCapacity, &bp); /* Get 1st block type */
|
ZSTD_getcBlockSize((char*)dst+frameHeaderSize, dstCapacity, &bp); /* Get 1st block type */
|
||||||
if (bp.blockType != bt_compressed) {
|
if (bp.blockType != bt_compressed) {
|
||||||
const PrepResult r = {0,0, 0};
|
const PrepResult r = PREPRESULT_INIT;
|
||||||
DISPLAY("no compressed literals\n");
|
DISPLAY("no compressed literals\n");
|
||||||
return r;
|
return r;
|
||||||
} }
|
} }
|
||||||
@@ -181,10 +181,9 @@ static PrepResult prepLiterals(void* dst, size_t dstCapacity, const void* src, s
|
|||||||
memmove(dst, (char*)dst+skippedSize, prepSize);
|
memmove(dst, (char*)dst+skippedSize, prepSize);
|
||||||
}
|
}
|
||||||
ZSTD_decompressBegin(g_zdc);
|
ZSTD_decompressBegin(g_zdc);
|
||||||
{ PrepResult r;
|
{ PrepResult r = PREPRESULT_INIT;
|
||||||
r.prepSize = prepSize;
|
r.prepSize = prepSize;
|
||||||
r.fixedOrigSize = srcSize > 128 KB ? 128 KB : srcSize; /* speed relative to block */
|
r.fixedOrigSize = srcSize > 128 KB ? 128 KB : srcSize; /* speed relative to block */
|
||||||
r.moddedDstCapacity = 0;
|
|
||||||
return r;
|
return r;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -276,7 +275,7 @@ static PrepResult prepSequences(void* dst, size_t dstCapacity, const void* src,
|
|||||||
{ blockProperties_t bp;
|
{ blockProperties_t bp;
|
||||||
size_t const cBlockSize = ZSTD_getcBlockSize(ip, dstCapacity, &bp); /* Get 1st block type */
|
size_t const cBlockSize = ZSTD_getcBlockSize(ip, dstCapacity, &bp); /* Get 1st block type */
|
||||||
if (bp.blockType != bt_compressed) {
|
if (bp.blockType != bt_compressed) {
|
||||||
const PrepResult r = {0,0, 0};
|
const PrepResult r = PREPRESULT_INIT;
|
||||||
DISPLAY("no compressed sequences\n");
|
DISPLAY("no compressed sequences\n");
|
||||||
return r;
|
return r;
|
||||||
}
|
}
|
||||||
@@ -286,10 +285,9 @@ static PrepResult prepSequences(void* dst, size_t dstCapacity, const void* src,
|
|||||||
ZSTD_decompressBegin(g_zdc);
|
ZSTD_decompressBegin(g_zdc);
|
||||||
CONTROL(iend > ip);
|
CONTROL(iend > ip);
|
||||||
ip += ZSTD_decodeLiteralsBlock_wrapper(g_zdc, ip, (size_t)(iend-ip), dst, dstCapacity); /* skip literal segment */
|
ip += ZSTD_decodeLiteralsBlock_wrapper(g_zdc, ip, (size_t)(iend-ip), dst, dstCapacity); /* skip literal segment */
|
||||||
{ PrepResult r;
|
{ PrepResult r = PREPRESULT_INIT;
|
||||||
r.prepSize = (size_t)(iend-ip);
|
r.prepSize = (size_t)(iend-ip);
|
||||||
r.fixedOrigSize = srcSize > 128 KB ? 128 KB : srcSize; /* speed relative to block */
|
r.fixedOrigSize = srcSize > 128 KB ? 128 KB : srcSize; /* speed relative to block */
|
||||||
r.moddedDstCapacity = 0;
|
|
||||||
memmove(dst, ip, r.prepSize); /* copy rest of block (it starts by SeqHeader) */
|
memmove(dst, ip, r.prepSize); /* copy rest of block (it starts by SeqHeader) */
|
||||||
return r;
|
return r;
|
||||||
}
|
}
|
||||||
@@ -543,23 +541,23 @@ static BenchScenario kScenarios[] = {
|
|||||||
{ "decompress", prepDecompress, local_ZSTD_decompress },
|
{ "decompress", prepDecompress, local_ZSTD_decompress },
|
||||||
{ "compress_freshCCtx", NULL, local_ZSTD_compress_freshCCtx },
|
{ "compress_freshCCtx", NULL, local_ZSTD_compress_freshCCtx },
|
||||||
{ "decompressDCtx", prepDecompress, local_ZSTD_decompressDCtx },
|
{ "decompressDCtx", prepDecompress, local_ZSTD_decompressDCtx },
|
||||||
#ifndef ZSTD_DLL_IMPORT
|
|
||||||
{ "compressContinue", NULL, local_ZSTD_compressContinue },
|
{ "compressContinue", NULL, local_ZSTD_compressContinue },
|
||||||
{ "compressContinue_extDict", NULL, local_ZSTD_compressContinue_extDict },
|
{ "compressContinue_extDict", NULL, local_ZSTD_compressContinue_extDict },
|
||||||
{ "decompressContinue", prepDecompress, local_ZSTD_decompressContinue },
|
{ "decompressContinue", prepDecompress, local_ZSTD_decompressContinue },
|
||||||
{ "decodeLiteralsHeader", prepLiterals, local_ZSTD_decodeLiteralsHeader },
|
|
||||||
{ "decodeLiteralsBlock", prepLiterals, local_ZSTD_decodeLiteralsBlock },
|
|
||||||
{ "decodeSeqHeaders", prepSequences, local_ZSTD_decodeSeqHeaders },
|
|
||||||
#endif
|
|
||||||
{ "compressStream", NULL, local_ZSTD_compressStream },
|
{ "compressStream", NULL, local_ZSTD_compressStream },
|
||||||
{ "decompressStream", prepDecompress, local_ZSTD_decompressStream },
|
|
||||||
{ "compressStream_freshCCtx", NULL, local_ZSTD_compressStream_freshCCtx },
|
{ "compressStream_freshCCtx", NULL, local_ZSTD_compressStream_freshCCtx },
|
||||||
|
{ "decompressStream", prepDecompress, local_ZSTD_decompressStream },
|
||||||
{ "compress2", NULL, local_ZSTD_compress2 },
|
{ "compress2", NULL, local_ZSTD_compress2 },
|
||||||
{ "compressStream2, end", NULL, local_ZSTD_compressStream2_end },
|
{ "compressStream2, end", NULL, local_ZSTD_compressStream2_end },
|
||||||
{ "compressStream2, end & short", prepShorterDstCapacity, local_ZSTD_compressStream2_end },
|
{ "compressStream2, end & short", prepShorterDstCapacity, local_ZSTD_compressStream2_end },
|
||||||
{ "compressStream2, continue", NULL, local_ZSTD_compressStream2_continue },
|
{ "compressStream2, continue", NULL, local_ZSTD_compressStream2_continue },
|
||||||
{ "compress_generic, -T2, continue", NULL, local_ZSTD_compress_generic_T2_continue },
|
{ "compressStream2, -T2, continue", NULL, local_ZSTD_compress_generic_T2_continue },
|
||||||
{ "compress_generic, -T2, end", NULL, local_ZSTD_compress_generic_T2_end },
|
{ "compressStream2, -T2, end", NULL, local_ZSTD_compress_generic_T2_end },
|
||||||
|
#ifndef ZSTD_DLL_IMPORT
|
||||||
|
{ "decodeLiteralsHeader (1st block)", prepLiterals, local_ZSTD_decodeLiteralsHeader },
|
||||||
|
{ "decodeLiteralsBlock (1st block)", prepLiterals, local_ZSTD_decodeLiteralsBlock },
|
||||||
|
{ "decodeSeqHeaders (1st block)", prepSequences, local_ZSTD_decodeSeqHeaders },
|
||||||
|
#endif
|
||||||
};
|
};
|
||||||
#define NB_SCENARIOS (sizeof(kScenarios) / sizeof(kScenarios[0]))
|
#define NB_SCENARIOS (sizeof(kScenarios) / sizeof(kScenarios[0]))
|
||||||
|
|
||||||
@@ -622,12 +620,12 @@ static int benchMem(unsigned benchNb,
|
|||||||
ZSTD_CCtx_setParameter(g_cstream, ZSTD_c_targetLength, (int)cparams.targetLength);
|
ZSTD_CCtx_setParameter(g_cstream, ZSTD_c_targetLength, (int)cparams.targetLength);
|
||||||
ZSTD_CCtx_setParameter(g_cstream, ZSTD_c_strategy, (int)cparams.strategy);
|
ZSTD_CCtx_setParameter(g_cstream, ZSTD_c_strategy, (int)cparams.strategy);
|
||||||
|
|
||||||
|
|
||||||
/* Preparation */
|
/* Preparation */
|
||||||
payload = &cparams;
|
payload = &cparams;
|
||||||
{ PrepResult pr = prep_f(prepBuff, prepBuffCapacity, origSrc, origSrcSize, cLevel);
|
{ PrepResult pr = prep_f(prepBuff, prepBuffCapacity, origSrc, origSrcSize, cLevel);
|
||||||
prepBuffSize = pr.prepSize;
|
prepBuffSize = pr.prepSize;
|
||||||
origSrcSize = pr.fixedOrigSize;
|
origSrcSize = pr.fixedOrigSize;
|
||||||
|
if (pr.moddedDstCapacity) dstBuffCapacity = pr.moddedDstCapacity;
|
||||||
}
|
}
|
||||||
if (prepBuffSize==0) goto _cleanOut; /* failed preparation */
|
if (prepBuffSize==0) goto _cleanOut; /* failed preparation */
|
||||||
|
|
||||||
@@ -669,7 +667,7 @@ static int benchMem(unsigned benchNb,
|
|||||||
{ BMK_runTime_t const newResult = BMK_extract_runTime(bOutcome);
|
{ BMK_runTime_t const newResult = BMK_extract_runTime(bOutcome);
|
||||||
if (newResult.nanoSecPerRun < bestResult.nanoSecPerRun )
|
if (newResult.nanoSecPerRun < bestResult.nanoSecPerRun )
|
||||||
bestResult.nanoSecPerRun = newResult.nanoSecPerRun;
|
bestResult.nanoSecPerRun = newResult.nanoSecPerRun;
|
||||||
DISPLAY("\r%2u#%-29.29s:%8.1f MB/s (%8u) ",
|
DISPLAY("\r%2u#%-31.31s:%8.1f MB/s (%8u) ",
|
||||||
benchNb, benchName,
|
benchNb, benchName,
|
||||||
(double)origSrcSize * TIMELOOP_NANOSEC / bestResult.nanoSecPerRun / MB_UNIT,
|
(double)origSrcSize * TIMELOOP_NANOSEC / bestResult.nanoSecPerRun / MB_UNIT,
|
||||||
(unsigned)newResult.sumOfReturn );
|
(unsigned)newResult.sumOfReturn );
|
||||||
|
|||||||
Reference in New Issue
Block a user