diff --git a/programs/bench.c b/programs/bench.c index 10d610ef..66f7d69a 100644 --- a/programs/bench.c +++ b/programs/bench.c @@ -260,7 +260,11 @@ static int BMK_benchMem(const void* srcBuffer, size_t srcSize, } } } /* warmimg up memory */ - RDG_genBuffer(compressedBuffer, maxCompressedSize, 0.10, 0.50, 1); + if (g_decodeOnly) { + memcpy(compressedBuffer, srcBuffer, loadedCompressedSize); + } else { + RDG_genBuffer(compressedBuffer, maxCompressedSize, 0.10, 0.50, 1); + } /* Bench */ { U64 fastestC = (U64)(-1LL), fastestD = (U64)(-1LL); @@ -373,9 +377,7 @@ static int BMK_benchMem(const void* srcBuffer, size_t srcSize, ratioAccuracy, ratio, cSpeedAccuracy, compressionSpeed ); } - } else { /* g_decodeOnly */ - memcpy(compressedBuffer, srcBuffer, loadedCompressedSize); - } + } /* if (!g_decodeOnly) */ #if 0 /* disable decompression test */ dCompleted=1; diff --git a/programs/zstdcli.c b/programs/zstdcli.c index 05230227..3fd3282b 100644 --- a/programs/zstdcli.c +++ b/programs/zstdcli.c @@ -573,7 +573,8 @@ int main(int argCount, const char* argv[]) /* Decoding */ case 'd': #ifndef ZSTD_NOBENCH - if (operation==zom_bench) { BMK_setDecodeOnlyMode(1); argument++; break; } /* benchmark decode (hidden option) */ + BMK_setDecodeOnlyMode(1); + if (operation==zom_bench) { argument++; break; } /* benchmark decode (hidden option) */ #endif operation=zom_decompress; argument++; break;