From: Yann Collet Date: Fri, 3 Sep 2021 23:07:31 +0000 (-0700) Subject: new initializer for ll price X-Git-Tag: v1.5.1~1^2~112^2~13 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=27a8bbe26539cca301da3e013955b57e7275d82c;p=thirdparty%2Fzstd.git new initializer for ll price --- diff --git a/lib/compress/zstd_opt.c b/lib/compress/zstd_opt.c index fe23663e6..48e1eec80 100644 --- a/lib/compress/zstd_opt.c +++ b/lib/compress/zstd_opt.c @@ -24,11 +24,11 @@ * Price functions for optimal parser ***************************************/ -#if 0 /* approximation at bit level */ +#if 0 /* approximation at bit level (for tests) */ # define BITCOST_ACCURACY 0 # define BITCOST_MULTIPLIER (1 << BITCOST_ACCURACY) -# define WEIGHT(stat) ((void)opt, ZSTD_bitWeight(stat)) -#elif 0 /* fractional bit accuracy */ +# define WEIGHT(stat, opt) ((void)opt, ZSTD_bitWeight(stat)) +#elif 0 /* fractional bit accuracy (for tests) */ # define BITCOST_ACCURACY 8 # define BITCOST_MULTIPLIER (1 << BITCOST_ACCURACY) # define WEIGHT(stat,opt) ((void)opt, ZSTD_fracWeight(stat)) @@ -94,10 +94,21 @@ static U32 ZSTD_downscaleStat(unsigned* table, U32 lastEltIndex, int malus) return sum; } +static U32 sum_u32(const unsigned table[], size_t nbElts) +{ + size_t n; + U32 total = 0; + for (n=0; nlitLengthSum == 0) : init statistics * take hints from dictionary if there is one - * or init from zero, using src for literals stats, or flat 1 for match symbols + * and init from zero if there is none, + * using src for literals stats, and baseline stats for sequence symbols * otherwise downscale existing stats, to be used as seed for next block. */ static void @@ -177,11 +188,16 @@ ZSTD_rescaleFreqs(optState_t* const optPtr, optPtr->litSum = ZSTD_downscaleStat(optPtr->litFreq, MaxLit, 1); } - { unsigned ll; - for (ll=0; ll<=MaxLL; ll++) - optPtr->litLengthFreq[ll] = 1; + { unsigned const baseLLfreqs[MaxLL+1] = { + 4, 2, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1 + }; + memcpy(optPtr->litLengthFreq, baseLLfreqs, sizeof(baseLLfreqs)); optPtr->litLengthSum = sum_u32(baseLLfreqs, MaxLL+1); + //unsigned ll; for (ll=0; ll<=MaxLL; ll++) optPtr->litLengthFreq[ll] = 1; optPtr->litLengthSum = MaxLL+1; } - optPtr->litLengthSum = MaxLL+1; { unsigned ml; for (ml=0; ml<=MaxML; ml++) @@ -189,11 +205,16 @@ ZSTD_rescaleFreqs(optState_t* const optPtr, } optPtr->matchLengthSum = MaxML+1; - { unsigned of; - for (of=0; of<=MaxOff; of++) - optPtr->offCodeFreq[of] = 1; + { unsigned const baseOFCfreqs[MaxOff+1] = { + 8, 4, 3, 3, 3, 4, 4, 4, + 4, 4, 3, 3, 3, 2, 2, 2, + 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, + }; + //memcpy(optPtr->offCodeFreq, baseOFCfreqs, sizeof(baseOFCfreqs)); optPtr->offCodeSum = sum_u32(baseOFCfreqs, MaxOff+1); + unsigned of; for (of=0; of<=MaxOff; of++) optPtr->offCodeFreq[of] = 1; optPtr->offCodeSum = MaxOff+1; } - optPtr->offCodeSum = MaxOff+1; + } @@ -901,11 +922,11 @@ static void ZSTD_optLdm_processMatchCandidate(ZSTD_optLdm_t* optLdm, ZSTD_match_ ZSTD_optLdm_maybeAddMatch(matches, nbMatches, optLdm, currPosInBlock); } + /*-******************************* * Optimal parser *********************************/ - static U32 ZSTD_totalLen(ZSTD_optimal_t sol) { return sol.litlen + sol.mlen; diff --git a/lib/dictBuilder/zdict.c b/lib/dictBuilder/zdict.c index 459cbe4d1..9edc77fe8 100644 --- a/lib/dictBuilder/zdict.c +++ b/lib/dictBuilder/zdict.c @@ -139,7 +139,7 @@ static unsigned ZDICT_NbCommonBytes (size_t val) _BitScanForward64( &r, (U64)val ); return (unsigned)(r>>3); # elif defined(__GNUC__) && (__GNUC__ >= 3) - return (__builtin_ctzll((U64)val) >> 3); + return (unsigned)(__builtin_ctzll((U64)val) >> 3); # else static const int DeBruijnBytePos[64] = { 0, 0, 0, 0, 0, 1, 1, 2, 0, 3, 1, 3, 1, 4, 2, 7, 0, 2, 3, 6, 1, 5, 3, 5, 1, 3, 4, 4, 2, 5, 6, 7, 7, 0, 1, 2, 3, 3, 4, 6, 2, 6, 5, 5, 3, 4, 5, 6, 7, 1, 2, 4, 6, 4, 4, 5, 7, 2, 6, 5, 7, 6, 7, 7 }; return DeBruijnBytePos[((U64)((val & -(long long)val) * 0x0218A392CDABBD3FULL)) >> 58]; @@ -150,7 +150,7 @@ static unsigned ZDICT_NbCommonBytes (size_t val) _BitScanForward( &r, (U32)val ); return (unsigned)(r>>3); # elif defined(__GNUC__) && (__GNUC__ >= 3) - return (__builtin_ctz((U32)val) >> 3); + return (unsigned)(__builtin_ctz((U32)val) >> 3); # else static const int DeBruijnBytePos[32] = { 0, 0, 3, 0, 3, 1, 3, 0, 3, 2, 2, 1, 3, 2, 0, 1, 3, 3, 1, 2, 2, 2, 2, 0, 3, 1, 2, 0, 1, 0, 1, 1 }; return DeBruijnBytePos[((U32)((val & -(S32)val) * 0x077CB531U)) >> 27]; @@ -163,7 +163,7 @@ static unsigned ZDICT_NbCommonBytes (size_t val) _BitScanReverse64( &r, val ); return (unsigned)(r>>3); # elif defined(__GNUC__) && (__GNUC__ >= 3) - return (__builtin_clzll(val) >> 3); + return (unsigned)(__builtin_clzll(val) >> 3); # else unsigned r; const unsigned n32 = sizeof(size_t)*4; /* calculate this way due to compiler complaining in 32-bits mode */ @@ -178,7 +178,7 @@ static unsigned ZDICT_NbCommonBytes (size_t val) _BitScanReverse( &r, (unsigned long)val ); return (unsigned)(r>>3); # elif defined(__GNUC__) && (__GNUC__ >= 3) - return (__builtin_clz((U32)val) >> 3); + return (unsigned)(__builtin_clz((U32)val) >> 3); # else unsigned r; if (!(val>>16)) { r=2; val>>=8; } else { r=0; val>>=24; } @@ -235,7 +235,7 @@ static dictItem ZDICT_analyzePos( U32 savings[LLIMIT] = {0}; const BYTE* b = (const BYTE*)buffer; size_t maxLength = LLIMIT; - size_t pos = suffix[start]; + size_t pos = (size_t)suffix[start]; U32 end = start; dictItem solution; @@ -369,7 +369,7 @@ static dictItem ZDICT_analyzePos( savings[i] = savings[i-1] + (lengthList[i] * (i-3)); DISPLAYLEVEL(4, "Selected dict at position %u, of length %u : saves %u (ratio: %.2f) \n", - (unsigned)pos, (unsigned)maxLength, (unsigned)savings[maxLength], (double)savings[maxLength] / maxLength); + (unsigned)pos, (unsigned)maxLength, (unsigned)savings[maxLength], (double)savings[maxLength] / (double)maxLength); solution.pos = (U32)pos; solution.length = (U32)maxLength; @@ -379,7 +379,7 @@ static dictItem ZDICT_analyzePos( { U32 id; for (id=start; id= elt.pos) && (table[u].pos < elt.pos)) { /* overlap, existing < new */ /* append */ - int const addedLength = (int)eltEnd - (table[u].pos + table[u].length); + int const addedLength = (int)eltEnd - (int)(table[u].pos + table[u].length); table[u].savings += elt.length / 8; /* rough approx bonus */ if (addedLength > 0) { /* otherwise, elt fully included into existing */ table[u].length += addedLength; @@ -766,6 +766,13 @@ static size_t ZDICT_analyzeEntropy(void* dstBuffer, size_t maxDstSize, pos += fileSizes[u]; } + if (notificationLevel >= 4) { + /* writeStats */ + DISPLAYLEVEL(4, "Offset Code Frequencies : \n"); + for (u=0; u<=offcodeMax; u++) { + DISPLAYLEVEL(4, "%2u :%7u \n", u, offcodeCount[u]); + } } + /* analyze, build stats, starting with literals */ { size_t maxNbBits = HUF_buildCTable (hufTable, countLit, 255, huffLog); if (HUF_isError(maxNbBits)) { @@ -872,7 +879,7 @@ static size_t ZDICT_analyzeEntropy(void* dstBuffer, size_t maxDstSize, MEM_writeLE32(dstPtr+8, bestRepOffset[2].offset); #else /* at this stage, we don't use the result of "most common first offset", - as the impact of statistics is not properly evaluated */ + * as the impact of statistics is not properly evaluated */ MEM_writeLE32(dstPtr+0, repStartValue[0]); MEM_writeLE32(dstPtr+4, repStartValue[1]); MEM_writeLE32(dstPtr+8, repStartValue[2]); diff --git a/tests/regression/results.csv b/tests/regression/results.csv index f120e5f2c..a552cb888 100644 --- a/tests/regression/results.csv +++ b/tests/regression/results.csv @@ -11,10 +11,10 @@ silesia.tar, level 6, compress silesia.tar, level 7, compress simple, 4576828 silesia.tar, level 9, compress simple, 4552584 silesia.tar, level 13, compress simple, 4502955 -silesia.tar, level 16, compress simple, 4356834 -silesia.tar, level 19, compress simple, 4264388 +silesia.tar, level 16, compress simple, 4356970 +silesia.tar, level 19, compress simple, 4264314 silesia.tar, uncompressed literals, compress simple, 4861423 -silesia.tar, uncompressed literals optimal, compress simple, 4264388 +silesia.tar, uncompressed literals optimal, compress simple, 4264314 silesia.tar, huffman literals, compress simple, 6186042 github.tar, level -5, compress simple, 46856 github.tar, level -3, compress simple, 43754 @@ -29,9 +29,9 @@ github.tar, level 7, compress github.tar, level 9, compress simple, 36767 github.tar, level 13, compress simple, 35501 github.tar, level 16, compress simple, 40255 -github.tar, level 19, compress simple, 32837 +github.tar, level 19, compress simple, 32820 github.tar, uncompressed literals, compress simple, 38441 -github.tar, uncompressed literals optimal, compress simple, 32837 +github.tar, uncompressed literals optimal, compress simple, 32820 github.tar, huffman literals, compress simple, 42490 silesia, level -5, compress cctx, 6737607 silesia, level -3, compress cctx, 6444677 @@ -45,8 +45,8 @@ silesia, level 6, compress silesia, level 7, compress cctx, 4567203 silesia, level 9, compress cctx, 4543311 silesia, level 13, compress cctx, 4493990 -silesia, level 16, compress cctx, 4360251 -silesia, level 19, compress cctx, 4283236 +silesia, level 16, compress cctx, 4360072 +silesia, level 19, compress cctx, 4282792 silesia, long distance mode, compress cctx, 4849551 silesia, multithreaded, compress cctx, 4849551 silesia, multithreaded long distance mode, compress cctx, 4849551 @@ -55,7 +55,7 @@ silesia, small hash log, compress silesia, small chain log, compress cctx, 4912199 silesia, explicit params, compress cctx, 4794480 silesia, uncompressed literals, compress cctx, 4849551 -silesia, uncompressed literals optimal, compress cctx, 4283236 +silesia, uncompressed literals optimal, compress cctx, 4282792 silesia, huffman literals, compress cctx, 6178460 silesia, multithreaded with advanced params, compress cctx, 4849551 github, level -5, compress cctx, 205285 @@ -109,8 +109,8 @@ silesia, level 6, zstdcli, silesia, level 7, zstdcli, 4567251 silesia, level 9, zstdcli, 4543359 silesia, level 13, zstdcli, 4494038 -silesia, level 16, zstdcli, 4360299 -silesia, level 19, zstdcli, 4283284 +silesia, level 16, zstdcli, 4360120 +silesia, level 19, zstdcli, 4282840 silesia, long distance mode, zstdcli, 4840807 silesia, multithreaded, zstdcli, 4849599 silesia, multithreaded long distance mode, zstdcli, 4840807 @@ -119,7 +119,7 @@ silesia, small hash log, zstdcli, silesia, small chain log, zstdcli, 4912247 silesia, explicit params, zstdcli, 4795856 silesia, uncompressed literals, zstdcli, 5128030 -silesia, uncompressed literals optimal, zstdcli, 4317944 +silesia, uncompressed literals optimal, zstdcli, 4318048 silesia, huffman literals, zstdcli, 5326317 silesia, multithreaded with advanced params, zstdcli, 5128030 silesia.tar, level -5, zstdcli, 6738934 @@ -134,8 +134,8 @@ silesia.tar, level 6, zstdcli, silesia.tar, level 7, zstdcli, 4578883 silesia.tar, level 9, zstdcli, 4553498 silesia.tar, level 13, zstdcli, 4502959 -silesia.tar, level 16, zstdcli, 4356838 -silesia.tar, level 19, zstdcli, 4264392 +silesia.tar, level 16, zstdcli, 4356974 +silesia.tar, level 19, zstdcli, 4264318 silesia.tar, no source size, zstdcli, 4861507 silesia.tar, long distance mode, zstdcli, 4853225 silesia.tar, multithreaded, zstdcli, 4861511 @@ -213,7 +213,7 @@ github.tar, level 13, zstdcli, github.tar, level 13 with dict, zstdcli, 38730 github.tar, level 16, zstdcli, 40259 github.tar, level 16 with dict, zstdcli, 33643 -github.tar, level 19, zstdcli, 32841 +github.tar, level 19, zstdcli, 32824 github.tar, level 19 with dict, zstdcli, 32899 github.tar, no source size, zstdcli, 38442 github.tar, no source size with dict, zstdcli, 38004 @@ -225,7 +225,7 @@ github.tar, small hash log, zstdcli, github.tar, small chain log, zstdcli, 41673 github.tar, explicit params, zstdcli, 41227 github.tar, uncompressed literals, zstdcli, 41126 -github.tar, uncompressed literals optimal, zstdcli, 35392 +github.tar, uncompressed literals optimal, zstdcli, 35498 github.tar, huffman literals, zstdcli, 38781 github.tar, multithreaded with advanced params, zstdcli, 41126 silesia, level -5, advanced one pass, 6737607 @@ -248,8 +248,8 @@ silesia, level 11 row 2, advanced silesia, level 12 row 1, advanced one pass, 4503117 silesia, level 12 row 2, advanced one pass, 4505152 silesia, level 13, advanced one pass, 4493990 -silesia, level 16, advanced one pass, 4360251 -silesia, level 19, advanced one pass, 4283236 +silesia, level 16, advanced one pass, 4360072 +silesia, level 19, advanced one pass, 4282792 silesia, no source size, advanced one pass, 4849551 silesia, long distance mode, advanced one pass, 4840738 silesia, multithreaded, advanced one pass, 4849551 @@ -259,7 +259,7 @@ silesia, small hash log, advanced silesia, small chain log, advanced one pass, 4912199 silesia, explicit params, advanced one pass, 4795856 silesia, uncompressed literals, advanced one pass, 5127982 -silesia, uncompressed literals optimal, advanced one pass, 4317896 +silesia, uncompressed literals optimal, advanced one pass, 4318000 silesia, huffman literals, advanced one pass, 5326269 silesia, multithreaded with advanced params, advanced one pass, 5127982 silesia.tar, level -5, advanced one pass, 6738593 @@ -282,8 +282,8 @@ silesia.tar, level 11 row 2, advanced silesia.tar, level 12 row 1, advanced one pass, 4513603 silesia.tar, level 12 row 2, advanced one pass, 4514568 silesia.tar, level 13, advanced one pass, 4502955 -silesia.tar, level 16, advanced one pass, 4356834 -silesia.tar, level 19, advanced one pass, 4264388 +silesia.tar, level 16, advanced one pass, 4356970 +silesia.tar, level 19, advanced one pass, 4264314 silesia.tar, no source size, advanced one pass, 4861423 silesia.tar, long distance mode, advanced one pass, 4847753 silesia.tar, multithreaded, advanced one pass, 4861507 @@ -527,7 +527,7 @@ github.tar, level 16 with dict dms, advanced github.tar, level 16 with dict dds, advanced one pass, 33544 github.tar, level 16 with dict copy, advanced one pass, 33639 github.tar, level 16 with dict load, advanced one pass, 39353 -github.tar, level 19, advanced one pass, 32837 +github.tar, level 19, advanced one pass, 32820 github.tar, level 19 with dict, advanced one pass, 32895 github.tar, level 19 with dict dms, advanced one pass, 32672 github.tar, level 19 with dict dds, advanced one pass, 32672 @@ -543,7 +543,7 @@ github.tar, small hash log, advanced github.tar, small chain log, advanced one pass, 41669 github.tar, explicit params, advanced one pass, 41227 github.tar, uncompressed literals, advanced one pass, 41122 -github.tar, uncompressed literals optimal, advanced one pass, 35388 +github.tar, uncompressed literals optimal, advanced one pass, 35494 github.tar, huffman literals, advanced one pass, 38777 github.tar, multithreaded with advanced params, advanced one pass, 41122 silesia, level -5, advanced one pass small out, 6737607 @@ -566,8 +566,8 @@ silesia, level 11 row 2, advanced silesia, level 12 row 1, advanced one pass small out, 4503117 silesia, level 12 row 2, advanced one pass small out, 4505152 silesia, level 13, advanced one pass small out, 4493990 -silesia, level 16, advanced one pass small out, 4360251 -silesia, level 19, advanced one pass small out, 4283236 +silesia, level 16, advanced one pass small out, 4360072 +silesia, level 19, advanced one pass small out, 4282792 silesia, no source size, advanced one pass small out, 4849551 silesia, long distance mode, advanced one pass small out, 4840738 silesia, multithreaded, advanced one pass small out, 4849551 @@ -577,7 +577,7 @@ silesia, small hash log, advanced silesia, small chain log, advanced one pass small out, 4912199 silesia, explicit params, advanced one pass small out, 4795856 silesia, uncompressed literals, advanced one pass small out, 5127982 -silesia, uncompressed literals optimal, advanced one pass small out, 4317896 +silesia, uncompressed literals optimal, advanced one pass small out, 4318000 silesia, huffman literals, advanced one pass small out, 5326269 silesia, multithreaded with advanced params, advanced one pass small out, 5127982 silesia.tar, level -5, advanced one pass small out, 6738593 @@ -600,8 +600,8 @@ silesia.tar, level 11 row 2, advanced silesia.tar, level 12 row 1, advanced one pass small out, 4513603 silesia.tar, level 12 row 2, advanced one pass small out, 4514568 silesia.tar, level 13, advanced one pass small out, 4502955 -silesia.tar, level 16, advanced one pass small out, 4356834 -silesia.tar, level 19, advanced one pass small out, 4264388 +silesia.tar, level 16, advanced one pass small out, 4356970 +silesia.tar, level 19, advanced one pass small out, 4264314 silesia.tar, no source size, advanced one pass small out, 4861423 silesia.tar, long distance mode, advanced one pass small out, 4847753 silesia.tar, multithreaded, advanced one pass small out, 4861507 @@ -845,7 +845,7 @@ github.tar, level 16 with dict dms, advanced github.tar, level 16 with dict dds, advanced one pass small out, 33544 github.tar, level 16 with dict copy, advanced one pass small out, 33639 github.tar, level 16 with dict load, advanced one pass small out, 39353 -github.tar, level 19, advanced one pass small out, 32837 +github.tar, level 19, advanced one pass small out, 32820 github.tar, level 19 with dict, advanced one pass small out, 32895 github.tar, level 19 with dict dms, advanced one pass small out, 32672 github.tar, level 19 with dict dds, advanced one pass small out, 32672 @@ -861,7 +861,7 @@ github.tar, small hash log, advanced github.tar, small chain log, advanced one pass small out, 41669 github.tar, explicit params, advanced one pass small out, 41227 github.tar, uncompressed literals, advanced one pass small out, 41122 -github.tar, uncompressed literals optimal, advanced one pass small out, 35388 +github.tar, uncompressed literals optimal, advanced one pass small out, 35494 github.tar, huffman literals, advanced one pass small out, 38777 github.tar, multithreaded with advanced params, advanced one pass small out, 41122 silesia, level -5, advanced streaming, 6882505 @@ -884,8 +884,8 @@ silesia, level 11 row 2, advanced silesia, level 12 row 1, advanced streaming, 4503117 silesia, level 12 row 2, advanced streaming, 4505152 silesia, level 13, advanced streaming, 4493990 -silesia, level 16, advanced streaming, 4360251 -silesia, level 19, advanced streaming, 4283236 +silesia, level 16, advanced streaming, 4360072 +silesia, level 19, advanced streaming, 4282792 silesia, no source size, advanced streaming, 4849515 silesia, long distance mode, advanced streaming, 4840738 silesia, multithreaded, advanced streaming, 4849551 @@ -895,7 +895,7 @@ silesia, small hash log, advanced silesia, small chain log, advanced streaming, 4912199 silesia, explicit params, advanced streaming, 4795884 silesia, uncompressed literals, advanced streaming, 5127982 -silesia, uncompressed literals optimal, advanced streaming, 4317896 +silesia, uncompressed literals optimal, advanced streaming, 4318000 silesia, huffman literals, advanced streaming, 5331171 silesia, multithreaded with advanced params, advanced streaming, 5127982 silesia.tar, level -5, advanced streaming, 6982759 @@ -918,8 +918,8 @@ silesia.tar, level 11 row 2, advanced silesia.tar, level 12 row 1, advanced streaming, 4513603 silesia.tar, level 12 row 2, advanced streaming, 4514569 silesia.tar, level 13, advanced streaming, 4502955 -silesia.tar, level 16, advanced streaming, 4356834 -silesia.tar, level 19, advanced streaming, 4264388 +silesia.tar, level 16, advanced streaming, 4356970 +silesia.tar, level 19, advanced streaming, 4264314 silesia.tar, no source size, advanced streaming, 4861421 silesia.tar, long distance mode, advanced streaming, 4847753 silesia.tar, multithreaded, advanced streaming, 4861507 @@ -1163,7 +1163,7 @@ github.tar, level 16 with dict dms, advanced github.tar, level 16 with dict dds, advanced streaming, 33544 github.tar, level 16 with dict copy, advanced streaming, 33639 github.tar, level 16 with dict load, advanced streaming, 39353 -github.tar, level 19, advanced streaming, 32837 +github.tar, level 19, advanced streaming, 32820 github.tar, level 19 with dict, advanced streaming, 32895 github.tar, level 19 with dict dms, advanced streaming, 32672 github.tar, level 19 with dict dds, advanced streaming, 32672 @@ -1179,7 +1179,7 @@ github.tar, small hash log, advanced github.tar, small chain log, advanced streaming, 41669 github.tar, explicit params, advanced streaming, 41227 github.tar, uncompressed literals, advanced streaming, 41122 -github.tar, uncompressed literals optimal, advanced streaming, 35388 +github.tar, uncompressed literals optimal, advanced streaming, 35494 github.tar, huffman literals, advanced streaming, 38800 github.tar, multithreaded with advanced params, advanced streaming, 41122 silesia, level -5, old streaming, 6882505 @@ -1194,11 +1194,11 @@ silesia, level 6, old stre silesia, level 7, old streaming, 4567203 silesia, level 9, old streaming, 4543311 silesia, level 13, old streaming, 4493990 -silesia, level 16, old streaming, 4360251 -silesia, level 19, old streaming, 4283236 +silesia, level 16, old streaming, 4360072 +silesia, level 19, old streaming, 4282792 silesia, no source size, old streaming, 4849515 silesia, uncompressed literals, old streaming, 4849551 -silesia, uncompressed literals optimal, old streaming, 4283236 +silesia, uncompressed literals optimal, old streaming, 4282792 silesia, huffman literals, old streaming, 6183403 silesia.tar, level -5, old streaming, 6982759 silesia.tar, level -3, old streaming, 6641283 @@ -1212,11 +1212,11 @@ silesia.tar, level 6, old stre silesia.tar, level 7, old streaming, 4576830 silesia.tar, level 9, old streaming, 4552590 silesia.tar, level 13, old streaming, 4502955 -silesia.tar, level 16, old streaming, 4356834 -silesia.tar, level 19, old streaming, 4264388 +silesia.tar, level 16, old streaming, 4356970 +silesia.tar, level 19, old streaming, 4264314 silesia.tar, no source size, old streaming, 4861421 silesia.tar, uncompressed literals, old streaming, 4861425 -silesia.tar, uncompressed literals optimal, old streaming, 4264388 +silesia.tar, uncompressed literals optimal, old streaming, 4264314 silesia.tar, huffman literals, old streaming, 6190795 github, level -5, old streaming, 205285 github, level -5 with dict, old streaming, 46718 @@ -1277,12 +1277,12 @@ github.tar, level 13, old stre github.tar, level 13 with dict, old streaming, 38726 github.tar, level 16, old streaming, 40255 github.tar, level 16 with dict, old streaming, 33639 -github.tar, level 19, old streaming, 32837 +github.tar, level 19, old streaming, 32820 github.tar, level 19 with dict, old streaming, 32895 github.tar, no source size, old streaming, 38438 github.tar, no source size with dict, old streaming, 38000 github.tar, uncompressed literals, old streaming, 38441 -github.tar, uncompressed literals optimal, old streaming, 32837 +github.tar, uncompressed literals optimal, old streaming, 32820 github.tar, huffman literals, old streaming, 42465 silesia, level -5, old streaming advanced, 6882505 silesia, level -3, old streaming advanced, 6568376 @@ -1296,8 +1296,8 @@ silesia, level 6, old stre silesia, level 7, old streaming advanced, 4567203 silesia, level 9, old streaming advanced, 4543311 silesia, level 13, old streaming advanced, 4493990 -silesia, level 16, old streaming advanced, 4360251 -silesia, level 19, old streaming advanced, 4283236 +silesia, level 16, old streaming advanced, 4360072 +silesia, level 19, old streaming advanced, 4282792 silesia, no source size, old streaming advanced, 4849515 silesia, long distance mode, old streaming advanced, 4849551 silesia, multithreaded, old streaming advanced, 4849551 @@ -1307,7 +1307,7 @@ silesia, small hash log, old stre silesia, small chain log, old streaming advanced, 4912199 silesia, explicit params, old streaming advanced, 4795884 silesia, uncompressed literals, old streaming advanced, 4849551 -silesia, uncompressed literals optimal, old streaming advanced, 4283236 +silesia, uncompressed literals optimal, old streaming advanced, 4282792 silesia, huffman literals, old streaming advanced, 6183403 silesia, multithreaded with advanced params, old streaming advanced, 4849551 silesia.tar, level -5, old streaming advanced, 6982759 @@ -1322,8 +1322,8 @@ silesia.tar, level 6, old stre silesia.tar, level 7, old streaming advanced, 4576830 silesia.tar, level 9, old streaming advanced, 4552590 silesia.tar, level 13, old streaming advanced, 4502955 -silesia.tar, level 16, old streaming advanced, 4356834 -silesia.tar, level 19, old streaming advanced, 4264388 +silesia.tar, level 16, old streaming advanced, 4356970 +silesia.tar, level 19, old streaming advanced, 4264314 silesia.tar, no source size, old streaming advanced, 4861421 silesia.tar, long distance mode, old streaming advanced, 4861425 silesia.tar, multithreaded, old streaming advanced, 4861425 @@ -1333,7 +1333,7 @@ silesia.tar, small hash log, old stre silesia.tar, small chain log, old streaming advanced, 4917019 silesia.tar, explicit params, old streaming advanced, 4807403 silesia.tar, uncompressed literals, old streaming advanced, 4861425 -silesia.tar, uncompressed literals optimal, old streaming advanced, 4264388 +silesia.tar, uncompressed literals optimal, old streaming advanced, 4264314 silesia.tar, huffman literals, old streaming advanced, 6190795 silesia.tar, multithreaded with advanced params, old streaming advanced, 4861425 github, level -5, old streaming advanced, 216734 @@ -1403,7 +1403,7 @@ github.tar, level 13, old stre github.tar, level 13 with dict, old streaming advanced, 35807 github.tar, level 16, old streaming advanced, 40255 github.tar, level 16 with dict, old streaming advanced, 38736 -github.tar, level 19, old streaming advanced, 32837 +github.tar, level 19, old streaming advanced, 32820 github.tar, level 19 with dict, old streaming advanced, 32876 github.tar, no source size, old streaming advanced, 38438 github.tar, no source size with dict, old streaming advanced, 38015 @@ -1415,7 +1415,7 @@ github.tar, small hash log, old stre github.tar, small chain log, old streaming advanced, 41669 github.tar, explicit params, old streaming advanced, 41227 github.tar, uncompressed literals, old streaming advanced, 38441 -github.tar, uncompressed literals optimal, old streaming advanced, 32837 +github.tar, uncompressed literals optimal, old streaming advanced, 32820 github.tar, huffman literals, old streaming advanced, 42465 github.tar, multithreaded with advanced params, old streaming advanced, 38441 github, level -5 with dict, old streaming cdict, 46718