Add long distance matcher
Move last literals section to ZSTD_block_internal
This commit is contained in:
+2
-2
@@ -440,8 +440,6 @@ static int basicUnitTests(U32 seed, double compressibility)
|
||||
free(staticDCtxBuffer);
|
||||
}
|
||||
|
||||
|
||||
|
||||
/* ZSTDMT simple MT compression test */
|
||||
DISPLAYLEVEL(4, "test%3i : create ZSTDMT CCtx : ", testNb++);
|
||||
{ ZSTDMT_CCtx* mtctx = ZSTDMT_createCCtx(2);
|
||||
@@ -1342,6 +1340,7 @@ static int fuzzerTests(U32 seed, U32 nbTests, unsigned startTest, U32 const maxD
|
||||
dictSize = FUZ_rLogLength(&lseed, dictLog); /* needed also for decompression */
|
||||
dict = srcBuffer + (FUZ_rand(&lseed) % (srcBufferSize - dictSize));
|
||||
|
||||
|
||||
if (FUZ_rand(&lseed) & 0xF) {
|
||||
CHECK_Z ( ZSTD_compressBegin_usingDict(refCtx, dict, dictSize, cLevel) );
|
||||
} else {
|
||||
@@ -1350,6 +1349,7 @@ static int fuzzerTests(U32 seed, U32 nbTests, unsigned startTest, U32 const maxD
|
||||
!(FUZ_rand(&lseed)&3) /* contentChecksumFlag*/,
|
||||
0 /*NodictID*/ }; /* note : since dictionary is fake, dictIDflag has no impact */
|
||||
ZSTD_parameters const p = FUZ_makeParams(cPar, fPar);
|
||||
|
||||
CHECK_Z ( ZSTD_compressBegin_advanced(refCtx, dict, dictSize, p, 0) );
|
||||
}
|
||||
CHECK_Z( ZSTD_copyCCtx(ctx, refCtx, 0) );
|
||||
|
||||
@@ -544,6 +544,15 @@ roundTripTest -g516K 19 # btopt
|
||||
|
||||
fileRoundTripTest -g500K
|
||||
|
||||
$ECHO "\n**** zstd long distance matching round-trip tests **** "
|
||||
roundTripTest -g0 "2 --long"
|
||||
roundTripTest -g1000K "1 --long"
|
||||
roundTripTest -g517K "6 --long"
|
||||
roundTripTest -g516K "16 --long"
|
||||
roundTripTest -g518K "19 --long"
|
||||
fileRoundTripTest -g5M "3 --long"
|
||||
|
||||
|
||||
if [ -n "$hasMT" ]
|
||||
then
|
||||
$ECHO "\n**** zstdmt round-trip tests **** "
|
||||
@@ -551,6 +560,9 @@ then
|
||||
roundTripTest -g8M "3 -T2"
|
||||
roundTripTest -g8000K "2 --threads=2"
|
||||
fileRoundTripTest -g4M "19 -T2 -B1M"
|
||||
|
||||
$ECHO "\n**** zstdmt long distance matching round-trip tests **** "
|
||||
roundTripTest -g8M "3 --long -T2"
|
||||
else
|
||||
$ECHO "\n**** no multithreading, skipping zstdmt tests **** "
|
||||
fi
|
||||
@@ -639,6 +651,15 @@ roundTripTest -g6000000000 -P99 1
|
||||
|
||||
fileRoundTripTest -g4193M -P99 1
|
||||
|
||||
$ECHO "\n**** zstd long, long distance matching round-trip tests **** "
|
||||
roundTripTest -g0 "2 --long"
|
||||
roundTripTest -g270000000 "1 --long"
|
||||
roundTripTest -g140000000 -P60 "5 --long"
|
||||
roundTripTest -g70000000 -P70 "8 --long"
|
||||
roundTripTest -g18000001 -P80 "18 --long"
|
||||
fileRoundTripTest -g4100M -P99 "1 --long"
|
||||
|
||||
|
||||
if [ -n "$hasMT" ]
|
||||
then
|
||||
$ECHO "\n**** zstdmt long round-trip tests **** "
|
||||
@@ -646,6 +667,7 @@ then
|
||||
roundTripTest -g6000000000 -P99 "1 -T2"
|
||||
roundTripTest -g1500000000 -P97 "1 -T999"
|
||||
fileRoundTripTest -g4195M -P98 " -T0"
|
||||
roundTripTest -g1500000000 -P97 "1 --long -T999"
|
||||
else
|
||||
$ECHO "\n**** no multithreading, skipping zstdmt tests **** "
|
||||
fi
|
||||
|
||||
@@ -1380,6 +1380,8 @@ static int fuzzerTests_newAPI(U32 seed, U32 nbTests, unsigned startTest, double
|
||||
if (FUZ_rand(&lseed) & 1) CHECK_Z( setCCtxParameter(zc, cctxParams, ZSTD_p_minMatch, cParams.searchLength, useOpaqueAPI) );
|
||||
if (FUZ_rand(&lseed) & 1) CHECK_Z( setCCtxParameter(zc, cctxParams, ZSTD_p_targetLength, cParams.targetLength, useOpaqueAPI) );
|
||||
|
||||
if (FUZ_rand(&lseed) & 1) CHECK_Z( ZSTD_CCtx_setParameter(zc, ZSTD_p_longDistanceMatching, FUZ_rand(&lseed) & 63) );
|
||||
|
||||
/* unconditionally set, to be sync with decoder */
|
||||
/* mess with frame parameters */
|
||||
if (FUZ_rand(&lseed) & 1) CHECK_Z( setCCtxParameter(zc, cctxParams, ZSTD_p_checksumFlag, FUZ_rand(&lseed) & 1, useOpaqueAPI) );
|
||||
|
||||
Reference in New Issue
Block a user