diff --git a/tests/Makefile b/tests/Makefile index 309b5d402..ecff18290 100644 --- a/tests/Makefile +++ b/tests/Makefile @@ -79,10 +79,10 @@ zstd32: zstd_nolegacy: $(MAKE) -C $(PRGDIR) $@ -fullbench : $(ZSTD_FILES) $(ZBUFF_FILES) $(PRGDIR)/datagen.c fullbench.c +fullbench : $(ZSTD_FILES) $(PRGDIR)/datagen.c fullbench.c $(CC) $(FLAGS) $^ -o $@$(EXT) -fullbench32 : $(ZSTD_FILES) $(ZBUFF_FILES) $(PRGDIR)/datagen.c fullbench.c +fullbench32 : $(ZSTD_FILES) $(PRGDIR)/datagen.c fullbench.c $(CC) -m32 $(FLAGS) $^ -o $@$(EXT) fuzzer : CPPFLAGS += -I$(ZSTDDIR)/dictBuilder diff --git a/tests/fullbench.c b/tests/fullbench.c index 670b51681..ffc32f9bb 100644 --- a/tests/fullbench.c +++ b/tests/fullbench.c @@ -22,7 +22,6 @@ #include "zstd.h" /* ZSTD_VERSION_STRING */ #define FSE_STATIC_LINKING_ONLY /* FSE_DTABLE_SIZE_U32 */ #include "fse.h" -#include "zbuff.h" #include "datagen.h" @@ -130,29 +129,39 @@ size_t local_ZSTD_decodeSeqHeaders(void* dst, size_t dstSize, void* buff2, const } -static ZBUFF_CCtx* g_zbcc = NULL; -size_t local_ZBUFF_compress(void* dst, size_t dstCapacity, void* buff2, const void* src, size_t srcSize) +static ZSTD_CStream* g_cstream= NULL; +size_t local_ZSTD_compressStream(void* dst, size_t dstCapacity, void* buff2, const void* src, size_t srcSize) { - size_t compressedSize; - size_t srcRead = srcSize, dstWritten = dstCapacity; + ZSTD_outBuffer buffOut; + ZSTD_inBuffer buffIn; (void)buff2; - ZBUFF_compressInit(g_zbcc, 1); - ZBUFF_compressContinue(g_zbcc, dst, &dstWritten, src, &srcRead); - compressedSize = dstWritten; - dstWritten = dstCapacity-compressedSize; - ZBUFF_compressEnd(g_zbcc, ((char*)dst)+compressedSize, &dstWritten); - compressedSize += dstWritten; - return compressedSize; + ZSTD_initCStream(g_cstream, 1); + buffOut.dst = dst; + buffOut.size = dstCapacity; + buffOut.pos = 0; + buffIn.src = src; + buffIn.size = srcSize; + buffIn.pos = 0; + ZSTD_compressStream(g_cstream, &buffOut, &buffIn); + ZSTD_endStream(g_cstream, &buffOut); + return buffOut.pos; } -static ZBUFF_DCtx* g_zbdc = NULL; -static size_t local_ZBUFF_decompress(void* dst, size_t dstCapacity, void* buff2, const void* src, size_t srcSize) +static ZSTD_DStream* g_dstream= NULL; +static size_t local_ZSTD_decompressStream(void* dst, size_t dstCapacity, void* buff2, const void* src, size_t srcSize) { - size_t srcRead = g_cSize, dstWritten = dstCapacity; + ZSTD_outBuffer buffOut; + ZSTD_inBuffer buffIn; (void)src; (void)srcSize; - ZBUFF_decompressInit(g_zbdc); - ZBUFF_decompressContinue(g_zbdc, dst, &dstWritten, buff2, &srcRead); - return dstWritten; + ZSTD_initDStream(g_dstream); + buffOut.dst = dst; + buffOut.size = dstCapacity; + buffOut.pos = 0; + buffIn.src = buff2; + buffIn.size = g_cSize; + buffIn.pos = 0; + ZSTD_decompressStream(g_dstream, &buffOut, &buffIn); + return buffOut.pos; } static ZSTD_CCtx* g_zcc = NULL; @@ -220,10 +229,10 @@ static size_t benchMem(const void* src, size_t srcSize, U32 benchNb) benchFunction = local_ZSTD_decodeSeqHeaders; benchName = "ZSTD_decodeSeqHeaders"; break; case 41: - benchFunction = local_ZBUFF_compress; benchName = "ZBUFF_compressContinue"; + benchFunction = local_ZSTD_compressStream; benchName = "ZSTD_compressStream"; break; case 42: - benchFunction = local_ZBUFF_decompress; benchName = "ZBUFF_decompressContinue"; + benchFunction = local_ZSTD_decompressStream; benchName = "ZSTD_decompressStream"; break; default : return 0; @@ -296,10 +305,10 @@ static size_t benchMem(const void* src, size_t srcSize, U32 benchNb) break; } case 41 : - if (g_zbcc==NULL) g_zbcc = ZBUFF_createCCtx(); + if (g_cstream==NULL) g_cstream = ZSTD_createCStream(); break; case 42 : - if (g_zbdc==NULL) g_zbdc = ZBUFF_createDCtx(); + if (g_dstream==NULL) g_dstream = ZSTD_createDStream(); g_cSize = ZSTD_compress(buff2, dstBuffSize, src, srcSize, 1); break; @@ -311,27 +320,27 @@ static size_t benchMem(const void* src, size_t srcSize, U32 benchNb) { size_t i; for (i=0; i %s !! \n", benchName, ZSTD_getErrorName(benchResult)); exit(1); } - } - averageTime = (((double)BMK_clockSpan(clockStart)) / CLOCKS_PER_SEC) / nbRounds; - if (averageTime < bestTime) bestTime = averageTime; - DISPLAY("%2i- %-30.30s : %7.1f MB/s (%9u)\r", loopNb, benchName, (double)srcSize / (1 MB) / bestTime, (U32)benchResult); - }} + clockStart = clock(); + while (clock() == clockStart); + clockStart = clock(); + for (nbRounds=0; BMK_clockSpan(clockStart) < timeLoop; nbRounds++) { + benchResult = benchFunction(dstBuff, dstBuffSize, buff2, src, srcSize); + if (ZSTD_isError(benchResult)) { DISPLAY("ERROR ! %s() => %s !! \n", benchName, ZSTD_getErrorName(benchResult)); exit(1); } + } + averageTime = (((double)BMK_clockSpan(clockStart)) / CLOCKS_PER_SEC) / nbRounds; + if (averageTime < bestTime) bestTime = averageTime; + DISPLAY("%2i- %-30.30s : %7.1f MB/s (%9u)\r", loopNb, benchName, (double)srcSize / (1 MB) / bestTime, (U32)benchResult); + } } DISPLAY("%2u\n", benchNb); _cleanOut: @@ -466,7 +475,7 @@ int main(int argc, const char** argv) switch(argument[0]) { /* Display help on usage */ - case 'h' : + case 'h': case 'H': return usage_advanced(exename); /* Pause at the end (hidden option) */