Total Changes:
Add different constraint types (decompression speed, compression memory, parameter constraints) Separate search space by strategy + strategy selection Memoize results Real random restarts Support multiple files Support Dictionary inputs Debug Macro for extra printing
This commit is contained in:
parent
fab4438801
commit
3adc217ea4
@ -85,7 +85,7 @@ static UTIL_time_t g_displayClock = UTIL_TIME_INITIALIZER;
|
|||||||
* Exceptions
|
* Exceptions
|
||||||
***************************************/
|
***************************************/
|
||||||
#ifndef DEBUG
|
#ifndef DEBUG
|
||||||
# define DEBUG 1
|
# define DEBUG 0
|
||||||
#endif
|
#endif
|
||||||
#define DEBUGOUTPUT(...) { if (DEBUG) DISPLAY(__VA_ARGS__); }
|
#define DEBUGOUTPUT(...) { if (DEBUG) DISPLAY(__VA_ARGS__); }
|
||||||
|
|
||||||
@ -188,7 +188,7 @@ static void BMK_initCCtx(ZSTD_CCtx* ctx,
|
|||||||
ZSTD_CCtx_setParameter(ctx, ZSTD_p_searchLog, comprParams->searchLog);
|
ZSTD_CCtx_setParameter(ctx, ZSTD_p_searchLog, comprParams->searchLog);
|
||||||
ZSTD_CCtx_setParameter(ctx, ZSTD_p_minMatch, comprParams->searchLength);
|
ZSTD_CCtx_setParameter(ctx, ZSTD_p_minMatch, comprParams->searchLength);
|
||||||
ZSTD_CCtx_setParameter(ctx, ZSTD_p_targetLength, comprParams->targetLength);
|
ZSTD_CCtx_setParameter(ctx, ZSTD_p_targetLength, comprParams->targetLength);
|
||||||
ZSTD_CCtx_setParameter(ctx, ZSTD_p_compressionStrategy, comprParams->strategy);
|
ZSTD_CCtx_setParameter(ctx, ZSTD_p_compressionStrategy , comprParams->strategy);
|
||||||
ZSTD_CCtx_loadDictionary(ctx, dictBuffer, dictBufferSize);
|
ZSTD_CCtx_loadDictionary(ctx, dictBuffer, dictBufferSize);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -293,7 +293,7 @@ BMK_customReturn_t BMK_benchFunction(
|
|||||||
BMK_initFn_t initFn, void* initPayload,
|
BMK_initFn_t initFn, void* initPayload,
|
||||||
size_t blockCount,
|
size_t blockCount,
|
||||||
const void* const * const srcBlockBuffers, const size_t* srcBlockSizes,
|
const void* const * const srcBlockBuffers, const size_t* srcBlockSizes,
|
||||||
void* const * const dstBlockBuffers, const size_t* dstBlockCapacities,
|
void** const dstBlockBuffers, size_t* dstBlockCapacities,
|
||||||
unsigned nbLoops) {
|
unsigned nbLoops) {
|
||||||
size_t srcSize = 0, dstSize = 0, ind = 0;
|
size_t srcSize = 0, dstSize = 0, ind = 0;
|
||||||
U64 totalTime;
|
U64 totalTime;
|
||||||
@ -338,6 +338,11 @@ BMK_customReturn_t BMK_benchFunction(
|
|||||||
j, (U32)dstBlockCapacities[j], ZSTD_getErrorName(res));
|
j, (U32)dstBlockCapacities[j], ZSTD_getErrorName(res));
|
||||||
} else if(firstIter) {
|
} else if(firstIter) {
|
||||||
dstSize += res;
|
dstSize += res;
|
||||||
|
//Make compressed blocks continuous
|
||||||
|
if(j != blockCount - 1) {
|
||||||
|
dstBlockBuffers[j+1] = (void*)((char*)dstBlockBuffers[j] + res);
|
||||||
|
dstBlockCapacities[j] = res;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
firstIter = 0;
|
firstIter = 0;
|
||||||
@ -370,13 +375,14 @@ void BMK_freeTimeState(BMK_timedFnState_t* state) {
|
|||||||
free(state);
|
free(state);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* make option for dstBlocks to be */
|
||||||
BMK_customTimedReturn_t BMK_benchFunctionTimed(
|
BMK_customTimedReturn_t BMK_benchFunctionTimed(
|
||||||
BMK_timedFnState_t* cont,
|
BMK_timedFnState_t* cont,
|
||||||
BMK_benchFn_t benchFn, void* benchPayload,
|
BMK_benchFn_t benchFn, void* benchPayload,
|
||||||
BMK_initFn_t initFn, void* initPayload,
|
BMK_initFn_t initFn, void* initPayload,
|
||||||
size_t blockCount,
|
size_t blockCount,
|
||||||
const void* const* const srcBlockBuffers, const size_t* srcBlockSizes,
|
const void* const* const srcBlockBuffers, const size_t* srcBlockSizes,
|
||||||
void* const* const dstBlockBuffers, const size_t* dstBlockCapacities)
|
void** const dstBlockBuffers, size_t* dstBlockCapacities)
|
||||||
{
|
{
|
||||||
U64 fastest = cont->fastestTime;
|
U64 fastest = cont->fastestTime;
|
||||||
int completed = 0;
|
int completed = 0;
|
||||||
|
@ -191,7 +191,7 @@ BMK_customReturn_t BMK_benchFunction(
|
|||||||
BMK_initFn_t initFn, void* initPayload,
|
BMK_initFn_t initFn, void* initPayload,
|
||||||
size_t blockCount,
|
size_t blockCount,
|
||||||
const void* const * const srcBuffers, const size_t* srcSizes,
|
const void* const * const srcBuffers, const size_t* srcSizes,
|
||||||
void* const * const dstBuffers, const size_t* dstCapacities,
|
void** const dstBuffers, size_t* dstCapacities,
|
||||||
unsigned nbLoops);
|
unsigned nbLoops);
|
||||||
|
|
||||||
|
|
||||||
@ -220,7 +220,7 @@ BMK_customTimedReturn_t BMK_benchFunctionTimed(BMK_timedFnState_t* cont,
|
|||||||
BMK_initFn_t initFn, void* initPayload,
|
BMK_initFn_t initFn, void* initPayload,
|
||||||
size_t blockCount,
|
size_t blockCount,
|
||||||
const void* const * const srcBlockBuffers, const size_t* srcBlockSizes,
|
const void* const * const srcBlockBuffers, const size_t* srcBlockSizes,
|
||||||
void* const * const dstBlockBuffers, const size_t* dstBlockCapacities);
|
void** const dstBlockBuffers, size_t* dstBlockCapacities);
|
||||||
|
|
||||||
#endif /* BENCH_H_121279284357 */
|
#endif /* BENCH_H_121279284357 */
|
||||||
|
|
||||||
|
@ -200,7 +200,7 @@ zstreamtest-dll : $(ZSTDDIR)/common/xxhash.c # xxh symbols not exposed from dll
|
|||||||
zstreamtest-dll : $(ZSTREAM_LOCAL_FILES)
|
zstreamtest-dll : $(ZSTREAM_LOCAL_FILES)
|
||||||
$(CC) $(CPPFLAGS) $(CFLAGS) $(filter %.c,$^) $(LDFLAGS) -o $@$(EXT)
|
$(CC) $(CPPFLAGS) $(CFLAGS) $(filter %.c,$^) $(LDFLAGS) -o $@$(EXT)
|
||||||
|
|
||||||
#paramgrill : DEBUGFLAGS = # turn off assert() for speed measurements
|
paramgrill : DEBUGFLAGS = # turn off assert() for speed measurements
|
||||||
paramgrill : $(ZSTD_FILES) $(PRGDIR)/bench.c $(PRGDIR)/datagen.c paramgrill.c
|
paramgrill : $(ZSTD_FILES) $(PRGDIR)/bench.c $(PRGDIR)/datagen.c paramgrill.c
|
||||||
$(CC) $(FLAGS) $^ -lm -o $@$(EXT)
|
$(CC) $(FLAGS) $^ -lm -o $@$(EXT)
|
||||||
|
|
||||||
|
@ -336,7 +336,7 @@ size_t local_ZSTD_decompressContinue(const void* src, size_t srcSize, void* dst,
|
|||||||
static size_t benchMem(const void* src, size_t srcSize, U32 benchNb, int cLevel, ZSTD_compressionParameters* cparams)
|
static size_t benchMem(const void* src, size_t srcSize, U32 benchNb, int cLevel, ZSTD_compressionParameters* cparams)
|
||||||
{
|
{
|
||||||
BYTE* dstBuff;
|
BYTE* dstBuff;
|
||||||
size_t const dstBuffSize = ZSTD_compressBound(srcSize);
|
size_t dstBuffSize = ZSTD_compressBound(srcSize);
|
||||||
void* buff2, *buff1;
|
void* buff2, *buff1;
|
||||||
const char* benchName;
|
const char* benchName;
|
||||||
BMK_benchFn_t benchFunction;
|
BMK_benchFn_t benchFunction;
|
||||||
@ -516,7 +516,7 @@ static size_t benchMem(const void* src, size_t srcSize, U32 benchNb, int cLevel,
|
|||||||
{
|
{
|
||||||
r = BMK_benchFunction(benchFunction, buff2,
|
r = BMK_benchFunction(benchFunction, buff2,
|
||||||
NULL, NULL, 1, &src, &srcSize,
|
NULL, NULL, 1, &src, &srcSize,
|
||||||
(void * const * const)&dstBuff, &dstBuffSize, g_nbIterations);
|
(void **)&dstBuff, &dstBuffSize, g_nbIterations);
|
||||||
if(r.error) {
|
if(r.error) {
|
||||||
DISPLAY("ERROR %d ! ! \n", r.error);
|
DISPLAY("ERROR %d ! ! \n", r.error);
|
||||||
errorcode = r.error;
|
errorcode = r.error;
|
||||||
|
1090
tests/paramgrill.c
1090
tests/paramgrill.c
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue
Block a user