Parolin 0.7.9 6796
Console (soon DLLs) to do a tar like job
Loading...
Searching...
No Matches
benchzstd.c File Reference
#include "platform.h"
#include "util.h"
#include <stdlib.h>
#include <string.h>
#include <stdio.h>
#include <errno.h>
#include <assert.h>
#include "timefn.h"
#include "benchfn.h"
#include "../lib/common/mem.h"
#include "../lib/zstd.h"
#include "datagen.h"
#include "../lib/common/xxhash.h"
#include "benchzstd.h"
#include "../lib/zstd_errors.h"

Data Structures

struct  blockParam_t
 
struct  BMK_initCCtxArgs
 
struct  BMK_initDCtxArgs
 

Macros

#define BMK_TIMETEST_DEFAULT_S   3
 
#define ZSTD_STATIC_LINKING_ONLY
 
#define XXH_INLINE_ALL
 
#define ZSTD_GIT_COMMIT_STRING   ""
 
#define TIMELOOP_MICROSEC   (1*1000000ULL) /* 1 second */
 
#define TIMELOOP_NANOSEC   (1*1000000000ULL) /* 1 second */
 
#define ACTIVEPERIOD_MICROSEC   (70*TIMELOOP_MICROSEC) /* 70 seconds */
 
#define COOLPERIOD_SEC   10
 
#define KB   *(1 <<10)
 
#define MB   *(1 <<20)
 
#define GB   *(1U<<30)
 
#define BMK_RUNTEST_DEFAULT_MS   1000
 
#define DISPLAY(...)
 
#define DISPLAYLEVEL(l, ...)
 
#define OUTPUT(...)
 
#define OUTPUTLEVEL(l, ...)
 
#define DEBUG   0
 
#define DEBUGOUTPUT(...)
 
#define RETURN_ERROR_INT(errorNum, ...)
 
#define CHECK_Z(zf)
 
#define RETURN_ERROR(errorNum, retType, ...)
 
#define MIN(a, b)
 
#define MAX(a, b)
 
#define NB_MARKS   4
 

Functions

BMK_advancedParams_t BMK_initAdvancedParams (void)
 
int BMK_isSuccessful_benchOutcome (BMK_benchOutcome_t outcome)
 
BMK_benchResult_t BMK_extract_benchResult (BMK_benchOutcome_t outcome)
 
BMK_benchOutcome_t BMK_benchMemAdvanced (const void *srcBuffer, size_t srcSize, void *dstBuffer, size_t dstCapacity, const size_t *fileSizes, unsigned nbFiles, int cLevel, const ZSTD_compressionParameters *comprParams, const void *dictBuffer, size_t dictBufferSize, int displayLevel, const char *displayName, const BMK_advancedParams_t *adv)
 
BMK_benchOutcome_t BMK_benchMem (const void *srcBuffer, size_t srcSize, const size_t *fileSizes, unsigned nbFiles, int cLevel, const ZSTD_compressionParameters *comprParams, const void *dictBuffer, size_t dictBufferSize, int displayLevel, const char *displayName)
 
int BMK_syntheticTest (int cLevel, double compressibility, const ZSTD_compressionParameters *compressionParams, int displayLevel, const BMK_advancedParams_t *adv)
 
int BMK_benchFilesAdvanced (const char *const *fileNamesTable, unsigned nbFiles, const char *dictFileName, int cLevel, const ZSTD_compressionParameters *compressionParams, int displayLevel, const BMK_advancedParams_t *adv)
 
int BMK_benchFiles (const char *const *fileNamesTable, unsigned nbFiles, const char *dictFileName, int cLevel, const ZSTD_compressionParameters *compressionParams, int displayLevel)
 

Macro Definition Documentation

◆ ACTIVEPERIOD_MICROSEC

#define ACTIVEPERIOD_MICROSEC   (70*TIMELOOP_MICROSEC) /* 70 seconds */

◆ BMK_RUNTEST_DEFAULT_MS

#define BMK_RUNTEST_DEFAULT_MS   1000

◆ BMK_TIMETEST_DEFAULT_S

#define BMK_TIMETEST_DEFAULT_S   3

◆ CHECK_Z

#define CHECK_Z ( zf)
Value:
{ \
size_t const zerr = zf; \
if (ZSTD_isError(zerr)) { \
DEBUGOUTPUT("%s: %i: \n", __FILE__, __LINE__); \
DISPLAY("Error : "); \
DISPLAY("%s failed : %s", \
DISPLAY(" \n"); \
exit(1); \
} \
}
const char * ZSTD_getErrorName(size_t code)
Definition zstd_common.c:41
#define ZSTD_isError
Definition zstd_internal.h:49
void zerr(int ret)
Definition ztest.c:210

◆ COOLPERIOD_SEC

#define COOLPERIOD_SEC   10

◆ DEBUG

#define DEBUG   0

◆ DEBUGOUTPUT

#define DEBUGOUTPUT ( ...)
Value:
{ if (DEBUG) DISPLAY(__VA_ARGS__); }
#define DISPLAY(...)
Definition benchzstd.c:75
#define DEBUG
Definition benchzstd.c:86

◆ DISPLAY

#define DISPLAY ( ...)
Value:
{ fprintf(stderr, __VA_ARGS__); fflush(NULL); }
#define NULL
Definition getopt1.c:37

◆ DISPLAYLEVEL

#define DISPLAYLEVEL ( l,
... )
Value:
if (displayLevel>=l) { DISPLAY(__VA_ARGS__); }

◆ GB

#define GB   *(1U<<30)

◆ KB

#define KB   *(1 <<10)

◆ MAX

#define MAX ( a,
b )
Value:
((a) > (b) ? (a) : (b))
#define b(i)
Definition sha256.c:42
#define a(i)
Definition sha256.c:41

◆ MB

#define MB   *(1 <<20)

◆ MIN

#define MIN ( a,
b )
Value:
((a) < (b) ? (a) : (b))

◆ NB_MARKS

#define NB_MARKS   4

◆ OUTPUT

#define OUTPUT ( ...)
Value:
{ fprintf(stdout, __VA_ARGS__); fflush(NULL); }

◆ OUTPUTLEVEL

#define OUTPUTLEVEL ( l,
... )
Value:
if (displayLevel>=l) { OUTPUT(__VA_ARGS__); }
#define OUTPUT(...)
Definition benchzstd.c:78

◆ RETURN_ERROR

#define RETURN_ERROR ( errorNum,
retType,
... )
Value:
{ \
retType r; \
memset(&r, 0, sizeof(retType)); \
DEBUGOUTPUT("%s: %i: \n", __FILE__, __LINE__); \
DISPLAYLEVEL(1, "Error %i : ", errorNum); \
DISPLAYLEVEL(1, __VA_ARGS__); \
DISPLAYLEVEL(1, " \n"); \
r.tag = errorNum; \
return r; \
}

◆ RETURN_ERROR_INT

#define RETURN_ERROR_INT ( errorNum,
... )
Value:
{ \
DEBUGOUTPUT("%s: %i: \n", __FILE__, __LINE__); \
DISPLAYLEVEL(1, "Error %i : ", errorNum); \
DISPLAYLEVEL(1, __VA_ARGS__); \
DISPLAYLEVEL(1, " \n"); \
return errorNum; \
}

◆ TIMELOOP_MICROSEC

#define TIMELOOP_MICROSEC   (1*1000000ULL) /* 1 second */

◆ TIMELOOP_NANOSEC

#define TIMELOOP_NANOSEC   (1*1000000000ULL) /* 1 second */

◆ XXH_INLINE_ALL

#define XXH_INLINE_ALL

◆ ZSTD_GIT_COMMIT_STRING

#define ZSTD_GIT_COMMIT_STRING   ""

◆ ZSTD_STATIC_LINKING_ONLY

#define ZSTD_STATIC_LINKING_ONLY

Function Documentation

◆ BMK_benchFiles()

int BMK_benchFiles ( const char *const * fileNamesTable,
unsigned nbFiles,
const char * dictFileName,
int cLevel,
const ZSTD_compressionParameters * compressionParams,
int displayLevel )

BMK_benchFiles() – called by zstdcli

◆ BMK_benchFilesAdvanced()

int BMK_benchFilesAdvanced ( const char *const * fileNamesTable,
unsigned nbFiles,
const char * dictFileName,
int cLevel,
const ZSTD_compressionParameters * compressionParams,
int displayLevel,
const BMK_advancedParams_t * adv )

BMK_benchFilesAdvanced(): Same as BMK_benchFiles(), with more controls, provided through advancedParams_t structure

◆ BMK_benchMem()

BMK_benchOutcome_t BMK_benchMem ( const void * srcBuffer,
size_t srcSize,
const size_t * fileSizes,
unsigned nbFiles,
int cLevel,
const ZSTD_compressionParameters * comprParams,
const void * dictBuffer,
size_t dictBufferSize,
int displayLevel,
const char * displayName )

BMK_benchMem() – core benchmarking function, called in paramgrill applies ZSTD_compress_generic() and ZSTD_decompress_generic() on data in srcBuffer with specific compression parameters provided by other arguments using benchFunction (cLevel, comprParams + adv in advanced Mode)

◆ BMK_benchMemAdvanced()

BMK_benchOutcome_t BMK_benchMemAdvanced ( const void * srcBuffer,
size_t srcSize,
void * dstBuffer,
size_t dstCapacity,
const size_t * fileSizes,
unsigned nbFiles,
int cLevel,
const ZSTD_compressionParameters * comprParams,
const void * dictBuffer,
size_t dictBufferSize,
int displayLevel,
const char * displayName,
const BMK_advancedParams_t * adv )

◆ BMK_extract_benchResult()

BMK_benchResult_t BMK_extract_benchResult ( BMK_benchOutcome_t outcome)

◆ BMK_initAdvancedParams()

BMK_advancedParams_t BMK_initAdvancedParams ( void )

◆ BMK_isSuccessful_benchOutcome()

int BMK_isSuccessful_benchOutcome ( BMK_benchOutcome_t outcome)

◆ BMK_syntheticTest()

int BMK_syntheticTest ( int cLevel,
double compressibility,
const ZSTD_compressionParameters * compressionParams,
int displayLevel,
const BMK_advancedParams_t * adv )

BMK_syntheticTest() – called from zstdcli