bench pay attention to variable block sizes
This commit is contained in:
+3
-3
@@ -284,8 +284,8 @@ static const ZSTD_parameters ZSTD_defaultParameters[4][ZSTD_MAX_CLEVEL+1] = {
|
|||||||
/* W, C, H, S, L, strat */
|
/* W, C, H, S, L, strat */
|
||||||
{ 0, 17, 12, 12, 1, 4, ZSTD_fast }, /* level 0 - never used */
|
{ 0, 17, 12, 12, 1, 4, ZSTD_fast }, /* level 0 - never used */
|
||||||
{ 0, 17, 12, 13, 1, 6, ZSTD_fast }, /* level 1 */
|
{ 0, 17, 12, 13, 1, 6, ZSTD_fast }, /* level 1 */
|
||||||
{ 0, 17, 15, 16, 1, 5, ZSTD_fast }, /* level 2 */
|
{ 0, 17, 14, 16, 1, 5, ZSTD_fast }, /* level 2 */
|
||||||
{ 0, 17, 16, 17, 1, 5, ZSTD_fast }, /* level 3 */
|
{ 0, 17, 15, 17, 1, 5, ZSTD_fast }, /* level 3 */
|
||||||
{ 0, 17, 13, 15, 2, 4, ZSTD_greedy }, /* level 4 */
|
{ 0, 17, 13, 15, 2, 4, ZSTD_greedy }, /* level 4 */
|
||||||
{ 0, 17, 15, 17, 3, 4, ZSTD_greedy }, /* level 5 */
|
{ 0, 17, 15, 17, 3, 4, ZSTD_greedy }, /* level 5 */
|
||||||
{ 0, 17, 14, 17, 3, 4, ZSTD_lazy }, /* level 6 */
|
{ 0, 17, 14, 17, 3, 4, ZSTD_lazy }, /* level 6 */
|
||||||
@@ -308,7 +308,7 @@ static const ZSTD_parameters ZSTD_defaultParameters[4][ZSTD_MAX_CLEVEL+1] = {
|
|||||||
/* W, C, H, S, L, strat */
|
/* W, C, H, S, L, strat */
|
||||||
{ 0, 0, 0, 0, 0, 0, ZSTD_fast }, /* level 0 - never used */
|
{ 0, 0, 0, 0, 0, 0, ZSTD_fast }, /* level 0 - never used */
|
||||||
{ 0, 14, 14, 14, 1, 4, ZSTD_fast }, /* level 1 */
|
{ 0, 14, 14, 14, 1, 4, ZSTD_fast }, /* level 1 */
|
||||||
{ 0, 14, 14, 16, 1, 4, ZSTD_fast }, /* level 1 */
|
{ 0, 14, 14, 16, 1, 4, ZSTD_fast }, /* level 2 */
|
||||||
{ 0, 14, 14, 14, 5, 4, ZSTD_greedy }, /* level 3 */
|
{ 0, 14, 14, 14, 5, 4, ZSTD_greedy }, /* level 3 */
|
||||||
{ 0, 14, 14, 14, 8, 4, ZSTD_greedy }, /* level 4 */
|
{ 0, 14, 14, 14, 8, 4, ZSTD_greedy }, /* level 4 */
|
||||||
{ 0, 14, 11, 14, 6, 4, ZSTD_lazy }, /* level 5 */
|
{ 0, 14, 11, 14, 6, 4, ZSTD_lazy }, /* level 5 */
|
||||||
|
|||||||
+3
-1
@@ -220,6 +220,7 @@ static int BMK_benchMem(const void* srcBuffer, size_t srcSize,
|
|||||||
{
|
{
|
||||||
const size_t blockSize = (g_blockSize ? g_blockSize : srcSize) + (!srcSize); /* avoid div by 0 */
|
const size_t blockSize = (g_blockSize ? g_blockSize : srcSize) + (!srcSize); /* avoid div by 0 */
|
||||||
const U32 maxNbBlocks = (U32) ((srcSize + (blockSize-1)) / blockSize) + nbFiles;
|
const U32 maxNbBlocks = (U32) ((srcSize + (blockSize-1)) / blockSize) + nbFiles;
|
||||||
|
size_t largestBlockSize = 0;
|
||||||
blockParam_t* const blockTable = (blockParam_t*) malloc(maxNbBlocks * sizeof(blockParam_t));
|
blockParam_t* const blockTable = (blockParam_t*) malloc(maxNbBlocks * sizeof(blockParam_t));
|
||||||
const size_t maxCompressedSize = ZSTD_compressBound(srcSize) + (maxNbBlocks * 1024); /* add some room for safety */
|
const size_t maxCompressedSize = ZSTD_compressBound(srcSize) + (maxNbBlocks * 1024); /* add some room for safety */
|
||||||
void* const compressedBuffer = malloc(maxCompressedSize);
|
void* const compressedBuffer = malloc(maxCompressedSize);
|
||||||
@@ -260,6 +261,7 @@ static int BMK_benchMem(const void* srcBuffer, size_t srcSize,
|
|||||||
cPtr += blockTable[nbBlocks].cRoom;
|
cPtr += blockTable[nbBlocks].cRoom;
|
||||||
resPtr += thisBlockSize;
|
resPtr += thisBlockSize;
|
||||||
remaining -= thisBlockSize;
|
remaining -= thisBlockSize;
|
||||||
|
if (thisBlockSize > largestBlockSize) largestBlockSize = thisBlockSize;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -292,7 +294,7 @@ static int BMK_benchMem(const void* srcBuffer, size_t srcSize,
|
|||||||
milliTime = BMK_GetMilliStart();
|
milliTime = BMK_GetMilliStart();
|
||||||
while (BMK_GetMilliSpan(milliTime) < TIMELOOP)
|
while (BMK_GetMilliSpan(milliTime) < TIMELOOP)
|
||||||
{
|
{
|
||||||
ZSTD_compressBegin_advanced(refCtx, ZSTD_getParams(cLevel, dictBufferSize+blockSize));
|
ZSTD_compressBegin_advanced(refCtx, ZSTD_getParams(cLevel, dictBufferSize+largestBlockSize));
|
||||||
ZSTD_compress_insertDictionary(refCtx, dictBuffer, dictBufferSize);
|
ZSTD_compress_insertDictionary(refCtx, dictBuffer, dictBufferSize);
|
||||||
for (blockNb=0; blockNb<nbBlocks; blockNb++)
|
for (blockNb=0; blockNb<nbBlocks; blockNb++)
|
||||||
{
|
{
|
||||||
|
|||||||
Reference in New Issue
Block a user