From 54320ce9051fee64657dfb98ae37f9c03fc1a878 Mon Sep 17 00:00:00 2001 From: inikep Date: Thu, 22 Sep 2016 11:52:53 +0200 Subject: [PATCH] zwrapbench tests zlib --- zlibWrapper/examples/zwrapbench.c | 147 ++++++++++++++++++++++-------- 1 file changed, 108 insertions(+), 39 deletions(-) diff --git a/zlibWrapper/examples/zwrapbench.c b/zlibWrapper/examples/zwrapbench.c index f548e9b82..c41c2ea5d 100644 --- a/zlibWrapper/examples/zwrapbench.c +++ b/zlibWrapper/examples/zwrapbench.c @@ -23,6 +23,8 @@ #include "datagen.h" /* RDG_genBuffer */ #include "xxhash.h" +#include "zlib.h" + /*-************************************ @@ -37,7 +39,7 @@ /*-************************************ * Constants **************************************/ -#define COMPRESSOR_NAME "zlibWrapper for zstd command line interface" +#define COMPRESSOR_NAME "Zstandard wrapper for zlib command line interface" #ifndef ZSTD_VERSION # define ZSTD_VERSION "v" ZSTD_VERSION_STRING #endif @@ -136,6 +138,8 @@ typedef struct size_t resSize; } blockParam_t; +typedef enum { BMK_ZSTD, BMK_ZLIB } BMK_compressor; + #define MIN(a,b) ((a)<(b) ? (a) : (b)) #define MAX(a,b) ((a)>(b) ? (a) : (b)) @@ -143,7 +147,7 @@ typedef struct static int BMK_benchMem(const void* srcBuffer, size_t srcSize, const char* displayName, int cLevel, const size_t* fileSizes, U32 nbFiles, - const void* dictBuffer, size_t dictBufferSize) + const void* dictBuffer, size_t dictBufferSize, BMK_compressor compressor) { size_t const blockSize = (g_blockSize>=32 ? g_blockSize : srcSize) + (!srcSize) /* avoid div by 0 */ ; size_t const avgSize = MIN(g_blockSize, (srcSize / nbFiles)); @@ -225,24 +229,53 @@ 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, avgSize, dictBufferSize); - ZSTD_customMem const cmem = { NULL, NULL, NULL }; U32 nbLoops = 0; - ZSTD_CDict* cdict = ZSTD_createCDict_advanced(dictBuffer, dictBufferSize, zparams, cmem); - if (cdict==NULL) EXM_THROW(1, "ZSTD_createCDict_advanced() allocation failure"); - do { - U32 blockNb; - for (blockNb=0; blockNb