Merge pull request #3114 from embg/fast_extdict_pipeline2

Software pipeline for ZSTD_compressBlock_fast_extDict
This commit is contained in:
Elliot Gorokhovsky 2022-05-05 15:06:47 -04:00 committed by GitHub
commit 7915c1164e
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 301 additions and 157 deletions

View File

@ -587,11 +587,10 @@ static size_t ZSTD_compressBlock_fast_extDict_generic(
U32* const hashTable = ms->hashTable;
U32 const hlog = cParams->hashLog;
/* support stepSize of 0 */
U32 const stepSize = cParams->targetLength + !(cParams->targetLength);
size_t const stepSize = cParams->targetLength + !(cParams->targetLength) + 1;
const BYTE* const base = ms->window.base;
const BYTE* const dictBase = ms->window.dictBase;
const BYTE* const istart = (const BYTE*)src;
const BYTE* ip = istart;
const BYTE* anchor = istart;
const U32 endIndex = (U32)((size_t)(istart - base) + srcSize);
const U32 lowLimit = ZSTD_getLowestMatchIndex(ms, endIndex, cParams->windowLog);
@ -605,6 +604,27 @@ static size_t ZSTD_compressBlock_fast_extDict_generic(
const BYTE* const ilimit = iend - 8;
U32 offset_1=rep[0], offset_2=rep[1];
const BYTE* ip0 = istart;
const BYTE* ip1;
const BYTE* ip2;
const BYTE* ip3;
U32 current0;
size_t hash0; /* hash for ip0 */
size_t hash1; /* hash for ip1 */
U32 idx; /* match idx for ip0 */
const BYTE* idxBase; /* base pointer for idx */
U32 offcode;
const BYTE* match0;
size_t mLength;
const BYTE* matchEnd = 0; /* initialize to avoid warning, assert != 0 later */
size_t step;
const BYTE* nextStep;
const size_t kStepIncr = (1 << (kSearchStrength - 1));
(void)hasStep; /* not currently specialized on whether it's accelerated */
DEBUGLOG(5, "ZSTD_compressBlock_fast_extDict_generic (offset_1=%u)", offset_1);
@ -613,75 +633,198 @@ static size_t ZSTD_compressBlock_fast_extDict_generic(
if (prefixStartIndex == dictStartIndex)
return ZSTD_compressBlock_fast(ms, seqStore, rep, src, srcSize);
/* Search Loop */
while (ip < ilimit) { /* < instead of <=, because (ip+1) */
const size_t h = ZSTD_hashPtr(ip, hlog, mls);
const U32 matchIndex = hashTable[h];
const BYTE* const matchBase = matchIndex < prefixStartIndex ? dictBase : base;
const BYTE* match = matchBase + matchIndex;
const U32 curr = (U32)(ip-base);
const U32 repIndex = curr + 1 - offset_1;
const BYTE* const repBase = repIndex < prefixStartIndex ? dictBase : base;
const BYTE* const repMatch = repBase + repIndex;
hashTable[h] = curr; /* update hash table */
DEBUGLOG(7, "offset_1 = %u , curr = %u", offset_1, curr);
{ U32 const curr = (U32)(ip0 - base);
U32 const maxRep = curr - dictStartIndex;
if (offset_2 >= maxRep) offset_2 = 0;
if (offset_1 >= maxRep) offset_1 = 0;
}
if ( ( ((U32)((prefixStartIndex-1) - repIndex) >= 3) /* intentional underflow */
& (offset_1 <= curr+1 - dictStartIndex) ) /* note: we are searching at curr+1 */
&& (MEM_read32(repMatch) == MEM_read32(ip+1)) ) {
const BYTE* const repMatchEnd = repIndex < prefixStartIndex ? dictEnd : iend;
size_t const rLength = ZSTD_count_2segments(ip+1 +4, repMatch +4, iend, repMatchEnd, prefixStart) + 4;
ip++;
ZSTD_storeSeq(seqStore, (size_t)(ip-anchor), anchor, iend, REPCODE1_TO_OFFBASE, rLength);
ip += rLength;
anchor = ip;
} else {
if ( (matchIndex < dictStartIndex) ||
(MEM_read32(match) != MEM_read32(ip)) ) {
assert(stepSize >= 1);
ip += ((ip-anchor) >> kSearchStrength) + stepSize;
continue;
/* start each op */
_start: /* Requires: ip0 */
step = stepSize;
nextStep = ip0 + kStepIncr;
/* calculate positions, ip0 - anchor == 0, so we skip step calc */
ip1 = ip0 + 1;
ip2 = ip0 + step;
ip3 = ip2 + 1;
if (ip3 >= ilimit) {
goto _cleanup;
}
hash0 = ZSTD_hashPtr(ip0, hlog, mls);
hash1 = ZSTD_hashPtr(ip1, hlog, mls);
idx = hashTable[hash0];
idxBase = idx < prefixStartIndex ? dictBase : base;
do {
{ /* load repcode match for ip[2] */
U32 const current2 = (U32)(ip2 - base);
U32 const repIndex = current2 - offset_1;
const BYTE* const repBase = repIndex < prefixStartIndex ? dictBase : base;
U32 rval;
if ( ((U32)(prefixStartIndex - repIndex) >= 4) /* intentional underflow */
& (offset_1 > 0) ) {
rval = MEM_read32(repBase + repIndex);
} else {
rval = MEM_read32(ip2) ^ 1; /* guaranteed to not match. */
}
{ const BYTE* const matchEnd = matchIndex < prefixStartIndex ? dictEnd : iend;
const BYTE* const lowMatchPtr = matchIndex < prefixStartIndex ? dictStart : prefixStart;
U32 const offset = curr - matchIndex;
size_t mLength = ZSTD_count_2segments(ip+4, match+4, iend, matchEnd, prefixStart) + 4;
while (((ip>anchor) & (match>lowMatchPtr)) && (ip[-1] == match[-1])) { ip--; match--; mLength++; } /* catch up */
offset_2 = offset_1; offset_1 = offset; /* update offset history */
ZSTD_storeSeq(seqStore, (size_t)(ip-anchor), anchor, iend, OFFSET_TO_OFFBASE(offset), mLength);
ip += mLength;
anchor = ip;
/* write back hash table entry */
current0 = (U32)(ip0 - base);
hashTable[hash0] = current0;
/* check repcode at ip[2] */
if (MEM_read32(ip2) == rval) {
ip0 = ip2;
match0 = repBase + repIndex;
matchEnd = repIndex < prefixStartIndex ? dictEnd : iend;
assert((match0 != prefixStart) & (match0 != dictStart));
mLength = ip0[-1] == match0[-1];
ip0 -= mLength;
match0 -= mLength;
offcode = REPCODE1_TO_OFFBASE;
mLength += 4;
goto _match;
} }
if (ip <= ilimit) {
/* Fill Table */
hashTable[ZSTD_hashPtr(base+curr+2, hlog, mls)] = curr+2;
hashTable[ZSTD_hashPtr(ip-2, hlog, mls)] = (U32)(ip-2-base);
/* check immediate repcode */
while (ip <= ilimit) {
U32 const current2 = (U32)(ip-base);
U32 const repIndex2 = current2 - offset_2;
const BYTE* const repMatch2 = repIndex2 < prefixStartIndex ? dictBase + repIndex2 : base + repIndex2;
if ( (((U32)((prefixStartIndex-1) - repIndex2) >= 3) & (offset_2 <= curr - dictStartIndex)) /* intentional overflow */
&& (MEM_read32(repMatch2) == MEM_read32(ip)) ) {
const BYTE* const repEnd2 = repIndex2 < prefixStartIndex ? dictEnd : iend;
size_t const repLength2 = ZSTD_count_2segments(ip+4, repMatch2+4, iend, repEnd2, prefixStart) + 4;
{ U32 const tmpOffset = offset_2; offset_2 = offset_1; offset_1 = tmpOffset; } /* swap offset_2 <=> offset_1 */
ZSTD_storeSeq(seqStore, 0 /*litlen*/, anchor, iend, REPCODE1_TO_OFFBASE, repLength2);
hashTable[ZSTD_hashPtr(ip, hlog, mls)] = current2;
ip += repLength2;
anchor = ip;
continue;
}
break;
} } }
{ /* load match for ip[0] */
U32 const mval = idx >= dictStartIndex ?
MEM_read32(idxBase + idx) :
MEM_read32(ip0) ^ 1; /* guaranteed not to match */
/* check match at ip[0] */
if (MEM_read32(ip0) == mval) {
/* found a match! */
goto _offset;
} }
/* lookup ip[1] */
idx = hashTable[hash1];
idxBase = idx < prefixStartIndex ? dictBase : base;
/* hash ip[2] */
hash0 = hash1;
hash1 = ZSTD_hashPtr(ip2, hlog, mls);
/* advance to next positions */
ip0 = ip1;
ip1 = ip2;
ip2 = ip3;
/* write back hash table entry */
current0 = (U32)(ip0 - base);
hashTable[hash0] = current0;
{ /* load match for ip[0] */
U32 const mval = idx >= dictStartIndex ?
MEM_read32(idxBase + idx) :
MEM_read32(ip0) ^ 1; /* guaranteed not to match */
/* check match at ip[0] */
if (MEM_read32(ip0) == mval) {
/* found a match! */
goto _offset;
} }
/* lookup ip[1] */
idx = hashTable[hash1];
idxBase = idx < prefixStartIndex ? dictBase : base;
/* hash ip[2] */
hash0 = hash1;
hash1 = ZSTD_hashPtr(ip2, hlog, mls);
/* advance to next positions */
ip0 = ip1;
ip1 = ip2;
ip2 = ip0 + step;
ip3 = ip1 + step;
/* calculate step */
if (ip2 >= nextStep) {
step++;
PREFETCH_L1(ip1 + 64);
PREFETCH_L1(ip1 + 128);
nextStep += kStepIncr;
}
} while (ip3 < ilimit);
_cleanup:
/* Note that there are probably still a couple positions we could search.
* However, it seems to be a meaningful performance hit to try to search
* them. So let's not. */
/* save reps for next block */
rep[0] = offset_1;
rep[1] = offset_2;
rep[0] = offset_1 ? offset_1 : rep[0];
rep[1] = offset_2 ? offset_2 : rep[1];
/* Return the last literals size */
return (size_t)(iend - anchor);
_offset: /* Requires: ip0, idx, idxBase */
/* Compute the offset code. */
{ U32 const offset = current0 - idx;
const BYTE* const lowMatchPtr = idx < prefixStartIndex ? dictStart : prefixStart;
matchEnd = idx < prefixStartIndex ? dictEnd : iend;
match0 = idxBase + idx;
offset_2 = offset_1;
offset_1 = offset;
offcode = OFFSET_TO_OFFBASE(offset);
mLength = 4;
/* Count the backwards match length. */
while (((ip0>anchor) & (match0>lowMatchPtr)) && (ip0[-1] == match0[-1])) {
ip0--;
match0--;
mLength++;
} }
_match: /* Requires: ip0, match0, offcode, matchEnd */
/* Count the forward length. */
assert(matchEnd != 0);
mLength += ZSTD_count_2segments(ip0 + mLength, match0 + mLength, iend, matchEnd, prefixStart);
ZSTD_storeSeq(seqStore, (size_t)(ip0 - anchor), anchor, iend, offcode, mLength);
ip0 += mLength;
anchor = ip0;
/* write next hash table entry */
if (ip1 < ip0) {
hashTable[hash1] = (U32)(ip1 - base);
}
/* Fill table and check for immediate repcode. */
if (ip0 <= ilimit) {
/* Fill Table */
assert(base+current0+2 > istart); /* check base overflow */
hashTable[ZSTD_hashPtr(base+current0+2, hlog, mls)] = current0+2; /* here because current+2 could be > iend-8 */
hashTable[ZSTD_hashPtr(ip0-2, hlog, mls)] = (U32)(ip0-2-base);
while (ip0 <= ilimit) {
U32 const repIndex2 = (U32)(ip0-base) - offset_2;
const BYTE* const repMatch2 = repIndex2 < prefixStartIndex ? dictBase + repIndex2 : base + repIndex2;
if ( (((U32)((prefixStartIndex-1) - repIndex2) >= 3) & (offset_2 > 0)) /* intentional underflow */
&& (MEM_read32(repMatch2) == MEM_read32(ip0)) ) {
const BYTE* const repEnd2 = repIndex2 < prefixStartIndex ? dictEnd : iend;
size_t const repLength2 = ZSTD_count_2segments(ip0+4, repMatch2+4, iend, repEnd2, prefixStart) + 4;
{ U32 const tmpOffset = offset_2; offset_2 = offset_1; offset_1 = tmpOffset; } /* swap offset_2 <=> offset_1 */
ZSTD_storeSeq(seqStore, 0 /*litlen*/, anchor, iend, REPCODE1_TO_OFFBASE, repLength2);
hashTable[ZSTD_hashPtr(ip0, hlog, mls)] = (U32)(ip0-base);
ip0 += repLength2;
anchor = ip0;
continue;
}
break;
} }
goto _start;
}
ZSTD_GEN_FAST_FN(extDict, 4, 0)
@ -694,6 +837,7 @@ size_t ZSTD_compressBlock_fast_extDict(
void const* src, size_t srcSize)
{
U32 const mls = ms->cParams.minMatch;
assert(ms->dictMatchState == NULL);
switch(mls)
{
default: /* includes case 3 */

View File

@ -59,15 +59,15 @@ silesia, uncompressed literals optimal, compress
silesia, huffman literals, compress cctx, 6172178
silesia, multithreaded with advanced params, compress cctx, 4842075
github, level -5, compress cctx, 204411
github, level -5 with dict, compress cctx, 47294
github, level -5 with dict, compress cctx, 52059
github, level -3, compress cctx, 193253
github, level -3 with dict, compress cctx, 48047
github, level -3 with dict, compress cctx, 46787
github, level -1, compress cctx, 175468
github, level -1 with dict, compress cctx, 43527
github, level -1 with dict, compress cctx, 43585
github, level 0, compress cctx, 136332
github, level 0 with dict, compress cctx, 41534
github, level 1, compress cctx, 142365
github, level 1 with dict, compress cctx, 42157
github, level 1 with dict, compress cctx, 42259
github, level 3, compress cctx, 136332
github, level 3 with dict, compress cctx, 41534
github, level 4, compress cctx, 136199
@ -188,15 +188,15 @@ github, uncompressed literals optimal, zstdcli,
github, huffman literals, zstdcli, 144365
github, multithreaded with advanced params, zstdcli, 167911
github.tar, level -5, zstdcli, 52114
github.tar, level -5 with dict, zstdcli, 46502
github.tar, level -5 with dict, zstdcli, 51074
github.tar, level -3, zstdcli, 45682
github.tar, level -3 with dict, zstdcli, 42181
github.tar, level -3 with dict, zstdcli, 44660
github.tar, level -1, zstdcli, 42564
github.tar, level -1 with dict, zstdcli, 41140
github.tar, level -1 with dict, zstdcli, 41155
github.tar, level 0, zstdcli, 38835
github.tar, level 0 with dict, zstdcli, 37999
github.tar, level 1, zstdcli, 39204
github.tar, level 1 with dict, zstdcli, 38288
github.tar, level 1 with dict, zstdcli, 38093
github.tar, level 3, zstdcli, 38835
github.tar, level 3 with dict, zstdcli, 37999
github.tar, level 4, zstdcli, 38897
@ -312,8 +312,8 @@ github, level 1, advanced
github, level 1 with dict, advanced one pass, 41682
github, level 1 with dict dms, advanced one pass, 41682
github, level 1 with dict dds, advanced one pass, 41682
github, level 1 with dict copy, advanced one pass, 41674
github, level 1 with dict load, advanced one pass, 43755
github, level 1 with dict copy, advanced one pass, 41698
github, level 1 with dict load, advanced one pass, 43814
github, level 3, advanced one pass, 136332
github, level 3 with dict, advanced one pass, 41148
github, level 3 with dict dms, advanced one pass, 41148
@ -422,11 +422,11 @@ github, uncompressed literals optimal, advanced
github, huffman literals, advanced one pass, 142365
github, multithreaded with advanced params, advanced one pass, 165911
github.tar, level -5, advanced one pass, 52110
github.tar, level -5 with dict, advanced one pass, 46498
github.tar, level -5 with dict, advanced one pass, 51070
github.tar, level -3, advanced one pass, 45678
github.tar, level -3 with dict, advanced one pass, 42177
github.tar, level -3 with dict, advanced one pass, 44656
github.tar, level -1, advanced one pass, 42560
github.tar, level -1 with dict, advanced one pass, 41136
github.tar, level -1 with dict, advanced one pass, 41151
github.tar, level 0, advanced one pass, 38831
github.tar, level 0 with dict, advanced one pass, 37995
github.tar, level 0 with dict dms, advanced one pass, 38003
@ -434,11 +434,11 @@ github.tar, level 0 with dict dds, advanced
github.tar, level 0 with dict copy, advanced one pass, 37995
github.tar, level 0 with dict load, advanced one pass, 37956
github.tar, level 1, advanced one pass, 39200
github.tar, level 1 with dict, advanced one pass, 38284
github.tar, level 1 with dict, advanced one pass, 38089
github.tar, level 1 with dict dms, advanced one pass, 38294
github.tar, level 1 with dict dds, advanced one pass, 38294
github.tar, level 1 with dict copy, advanced one pass, 38284
github.tar, level 1 with dict load, advanced one pass, 38724
github.tar, level 1 with dict copy, advanced one pass, 38089
github.tar, level 1 with dict load, advanced one pass, 38364
github.tar, level 3, advanced one pass, 38831
github.tar, level 3 with dict, advanced one pass, 37995
github.tar, level 3 with dict dms, advanced one pass, 38003
@ -630,8 +630,8 @@ github, level 1, advanced
github, level 1 with dict, advanced one pass small out, 41682
github, level 1 with dict dms, advanced one pass small out, 41682
github, level 1 with dict dds, advanced one pass small out, 41682
github, level 1 with dict copy, advanced one pass small out, 41674
github, level 1 with dict load, advanced one pass small out, 43755
github, level 1 with dict copy, advanced one pass small out, 41698
github, level 1 with dict load, advanced one pass small out, 43814
github, level 3, advanced one pass small out, 136332
github, level 3 with dict, advanced one pass small out, 41148
github, level 3 with dict dms, advanced one pass small out, 41148
@ -740,11 +740,11 @@ github, uncompressed literals optimal, advanced
github, huffman literals, advanced one pass small out, 142365
github, multithreaded with advanced params, advanced one pass small out, 165911
github.tar, level -5, advanced one pass small out, 52110
github.tar, level -5 with dict, advanced one pass small out, 46498
github.tar, level -5 with dict, advanced one pass small out, 51070
github.tar, level -3, advanced one pass small out, 45678
github.tar, level -3 with dict, advanced one pass small out, 42177
github.tar, level -3 with dict, advanced one pass small out, 44656
github.tar, level -1, advanced one pass small out, 42560
github.tar, level -1 with dict, advanced one pass small out, 41136
github.tar, level -1 with dict, advanced one pass small out, 41151
github.tar, level 0, advanced one pass small out, 38831
github.tar, level 0 with dict, advanced one pass small out, 37995
github.tar, level 0 with dict dms, advanced one pass small out, 38003
@ -752,11 +752,11 @@ github.tar, level 0 with dict dds, advanced
github.tar, level 0 with dict copy, advanced one pass small out, 37995
github.tar, level 0 with dict load, advanced one pass small out, 37956
github.tar, level 1, advanced one pass small out, 39200
github.tar, level 1 with dict, advanced one pass small out, 38284
github.tar, level 1 with dict, advanced one pass small out, 38089
github.tar, level 1 with dict dms, advanced one pass small out, 38294
github.tar, level 1 with dict dds, advanced one pass small out, 38294
github.tar, level 1 with dict copy, advanced one pass small out, 38284
github.tar, level 1 with dict load, advanced one pass small out, 38724
github.tar, level 1 with dict copy, advanced one pass small out, 38089
github.tar, level 1 with dict load, advanced one pass small out, 38364
github.tar, level 3, advanced one pass small out, 38831
github.tar, level 3 with dict, advanced one pass small out, 37995
github.tar, level 3 with dict dms, advanced one pass small out, 38003
@ -864,11 +864,11 @@ github.tar, uncompressed literals, advanced
github.tar, uncompressed literals optimal, advanced one pass small out, 35397
github.tar, huffman literals, advanced one pass small out, 38853
github.tar, multithreaded with advanced params, advanced one pass small out, 41525
silesia, level -5, advanced streaming, 6963781
silesia, level -3, advanced streaming, 6610376
silesia, level -1, advanced streaming, 6179294
silesia, level -5, advanced streaming, 6852424
silesia, level -3, advanced streaming, 6503413
silesia, level -1, advanced streaming, 6172179
silesia, level 0, advanced streaming, 4842075
silesia, level 1, advanced streaming, 5310178
silesia, level 1, advanced streaming, 5306426
silesia, level 3, advanced streaming, 4842075
silesia, level 4, advanced streaming, 4779186
silesia, level 5 row 1, advanced streaming, 4666323
@ -896,13 +896,13 @@ silesia, small chain log, advanced
silesia, explicit params, advanced streaming, 4795452
silesia, uncompressed literals, advanced streaming, 5120566
silesia, uncompressed literals optimal, advanced streaming, 4319518
silesia, huffman literals, advanced streaming, 5327881
silesia, huffman literals, advanced streaming, 5321346
silesia, multithreaded with advanced params, advanced streaming, 5120566
silesia.tar, level -5, advanced streaming, 7043687
silesia.tar, level -3, advanced streaming, 6671317
silesia.tar, level -1, advanced streaming, 6187457
silesia.tar, level -5, advanced streaming, 6853609
silesia.tar, level -3, advanced streaming, 6505969
silesia.tar, level -1, advanced streaming, 6179028
silesia.tar, level 0, advanced streaming, 4859271
silesia.tar, level 1, advanced streaming, 5333896
silesia.tar, level 1, advanced streaming, 5327377
silesia.tar, level 3, advanced streaming, 4859271
silesia.tar, level 4, advanced streaming, 4797470
silesia.tar, level 5 row 1, advanced streaming, 4677748
@ -930,7 +930,7 @@ silesia.tar, small chain log, advanced
silesia.tar, explicit params, advanced streaming, 4806873
silesia.tar, uncompressed literals, advanced streaming, 5127423
silesia.tar, uncompressed literals optimal, advanced streaming, 4310141
silesia.tar, huffman literals, advanced streaming, 5349624
silesia.tar, huffman literals, advanced streaming, 5341688
silesia.tar, multithreaded with advanced params, advanced streaming, 5122567
github, level -5, advanced streaming, 204411
github, level -5 with dict, advanced streaming, 46718
@ -948,8 +948,8 @@ github, level 1, advanced
github, level 1 with dict, advanced streaming, 41682
github, level 1 with dict dms, advanced streaming, 41682
github, level 1 with dict dds, advanced streaming, 41682
github, level 1 with dict copy, advanced streaming, 41674
github, level 1 with dict load, advanced streaming, 43755
github, level 1 with dict copy, advanced streaming, 41698
github, level 1 with dict load, advanced streaming, 43814
github, level 3, advanced streaming, 136332
github, level 3 with dict, advanced streaming, 41148
github, level 3 with dict dms, advanced streaming, 41148
@ -1057,24 +1057,24 @@ github, uncompressed literals, advanced
github, uncompressed literals optimal, advanced streaming, 157227
github, huffman literals, advanced streaming, 142365
github, multithreaded with advanced params, advanced streaming, 165911
github.tar, level -5, advanced streaming, 51420
github.tar, level -5 with dict, advanced streaming, 45495
github.tar, level -3, advanced streaming, 45077
github.tar, level -3 with dict, advanced streaming, 41627
github.tar, level -1, advanced streaming, 42536
github.tar, level -1 with dict, advanced streaming, 41198
github.tar, level -5, advanced streaming, 52110
github.tar, level -5 with dict, advanced streaming, 51070
github.tar, level -3, advanced streaming, 45678
github.tar, level -3 with dict, advanced streaming, 44656
github.tar, level -1, advanced streaming, 42560
github.tar, level -1 with dict, advanced streaming, 41151
github.tar, level 0, advanced streaming, 38831
github.tar, level 0 with dict, advanced streaming, 37995
github.tar, level 0 with dict dms, advanced streaming, 38003
github.tar, level 0 with dict dds, advanced streaming, 38003
github.tar, level 0 with dict copy, advanced streaming, 37995
github.tar, level 0 with dict load, advanced streaming, 37956
github.tar, level 1, advanced streaming, 39270
github.tar, level 1 with dict, advanced streaming, 38316
github.tar, level 1 with dict dms, advanced streaming, 38326
github.tar, level 1 with dict dds, advanced streaming, 38326
github.tar, level 1 with dict copy, advanced streaming, 38316
github.tar, level 1 with dict load, advanced streaming, 38761
github.tar, level 1, advanced streaming, 39200
github.tar, level 1 with dict, advanced streaming, 38089
github.tar, level 1 with dict dms, advanced streaming, 38294
github.tar, level 1 with dict dds, advanced streaming, 38294
github.tar, level 1 with dict copy, advanced streaming, 38089
github.tar, level 1 with dict load, advanced streaming, 38364
github.tar, level 3, advanced streaming, 38831
github.tar, level 3 with dict, advanced streaming, 37995
github.tar, level 3 with dict dms, advanced streaming, 38003
@ -1180,13 +1180,13 @@ github.tar, small chain log, advanced
github.tar, explicit params, advanced streaming, 41385
github.tar, uncompressed literals, advanced streaming, 41525
github.tar, uncompressed literals optimal, advanced streaming, 35397
github.tar, huffman literals, advanced streaming, 38874
github.tar, huffman literals, advanced streaming, 38853
github.tar, multithreaded with advanced params, advanced streaming, 41525
silesia, level -5, old streaming, 6963781
silesia, level -3, old streaming, 6610376
silesia, level -1, old streaming, 6179294
silesia, level -5, old streaming, 6852424
silesia, level -3, old streaming, 6503413
silesia, level -1, old streaming, 6172179
silesia, level 0, old streaming, 4842075
silesia, level 1, old streaming, 5310178
silesia, level 1, old streaming, 5306426
silesia, level 3, old streaming, 4842075
silesia, level 4, old streaming, 4779186
silesia, level 5, old streaming, 4666323
@ -1199,12 +1199,12 @@ silesia, level 19, old stre
silesia, no source size, old streaming, 4842039
silesia, uncompressed literals, old streaming, 4842075
silesia, uncompressed literals optimal, old streaming, 4296686
silesia, huffman literals, old streaming, 6179294
silesia.tar, level -5, old streaming, 7043687
silesia.tar, level -3, old streaming, 6671317
silesia.tar, level -1, old streaming, 6187457
silesia, huffman literals, old streaming, 6172179
silesia.tar, level -5, old streaming, 6853609
silesia.tar, level -3, old streaming, 6505969
silesia.tar, level -1, old streaming, 6179028
silesia.tar, level 0, old streaming, 4859271
silesia.tar, level 1, old streaming, 5333896
silesia.tar, level 1, old streaming, 5327377
silesia.tar, level 3, old streaming, 4859271
silesia.tar, level 4, old streaming, 4797470
silesia.tar, level 5, old streaming, 4677748
@ -1217,7 +1217,7 @@ silesia.tar, level 19, old stre
silesia.tar, no source size, old streaming, 4859267
silesia.tar, uncompressed literals, old streaming, 4859271
silesia.tar, uncompressed literals optimal, old streaming, 4267266
silesia.tar, huffman literals, old streaming, 6187457
silesia.tar, huffman literals, old streaming, 6179028
github, level -5, old streaming, 204411
github, level -5 with dict, old streaming, 46718
github, level -3, old streaming, 193253
@ -1251,16 +1251,16 @@ github, no source size with dict, old stre
github, uncompressed literals, old streaming, 136332
github, uncompressed literals optimal, old streaming, 134064
github, huffman literals, old streaming, 175468
github.tar, level -5, old streaming, 51420
github.tar, level -5 with dict, old streaming, 45495
github.tar, level -3, old streaming, 45077
github.tar, level -3 with dict, old streaming, 41627
github.tar, level -1, old streaming, 42536
github.tar, level -1 with dict, old streaming, 41198
github.tar, level -5, old streaming, 52110
github.tar, level -5 with dict, old streaming, 51070
github.tar, level -3, old streaming, 45678
github.tar, level -3 with dict, old streaming, 44656
github.tar, level -1, old streaming, 42560
github.tar, level -1 with dict, old streaming, 41151
github.tar, level 0, old streaming, 38831
github.tar, level 0 with dict, old streaming, 37995
github.tar, level 1, old streaming, 39270
github.tar, level 1 with dict, old streaming, 38316
github.tar, level 1, old streaming, 39200
github.tar, level 1 with dict, old streaming, 38089
github.tar, level 3, old streaming, 38831
github.tar, level 3 with dict, old streaming, 37995
github.tar, level 4, old streaming, 38893
@ -1283,12 +1283,12 @@ github.tar, no source size, old stre
github.tar, no source size with dict, old streaming, 38000
github.tar, uncompressed literals, old streaming, 38831
github.tar, uncompressed literals optimal, old streaming, 32134
github.tar, huffman literals, old streaming, 42536
silesia, level -5, old streaming advanced, 6963781
silesia, level -3, old streaming advanced, 6610376
silesia, level -1, old streaming advanced, 6179294
github.tar, huffman literals, old streaming, 42560
silesia, level -5, old streaming advanced, 6852424
silesia, level -3, old streaming advanced, 6503413
silesia, level -1, old streaming advanced, 6172179
silesia, level 0, old streaming advanced, 4842075
silesia, level 1, old streaming advanced, 5310178
silesia, level 1, old streaming advanced, 5306426
silesia, level 3, old streaming advanced, 4842075
silesia, level 4, old streaming advanced, 4779186
silesia, level 5, old streaming advanced, 4666323
@ -1308,13 +1308,13 @@ silesia, small chain log, old stre
silesia, explicit params, old streaming advanced, 4795452
silesia, uncompressed literals, old streaming advanced, 4842075
silesia, uncompressed literals optimal, old streaming advanced, 4296686
silesia, huffman literals, old streaming advanced, 6179294
silesia, huffman literals, old streaming advanced, 6172179
silesia, multithreaded with advanced params, old streaming advanced, 4842075
silesia.tar, level -5, old streaming advanced, 7043687
silesia.tar, level -3, old streaming advanced, 6671317
silesia.tar, level -1, old streaming advanced, 6187457
silesia.tar, level -5, old streaming advanced, 6853609
silesia.tar, level -3, old streaming advanced, 6505969
silesia.tar, level -1, old streaming advanced, 6179028
silesia.tar, level 0, old streaming advanced, 4859271
silesia.tar, level 1, old streaming advanced, 5333896
silesia.tar, level 1, old streaming advanced, 5327377
silesia.tar, level 3, old streaming advanced, 4859271
silesia.tar, level 4, old streaming advanced, 4797470
silesia.tar, level 5, old streaming advanced, 4677748
@ -1334,7 +1334,7 @@ silesia.tar, small chain log, old stre
silesia.tar, explicit params, old streaming advanced, 4806873
silesia.tar, uncompressed literals, old streaming advanced, 4859271
silesia.tar, uncompressed literals optimal, old streaming advanced, 4267266
silesia.tar, huffman literals, old streaming advanced, 6187457
silesia.tar, huffman literals, old streaming advanced, 6179028
silesia.tar, multithreaded with advanced params, old streaming advanced, 4859271
github, level -5, old streaming advanced, 213265
github, level -5 with dict, old streaming advanced, 49562
@ -1377,16 +1377,16 @@ github, uncompressed literals, old stre
github, uncompressed literals optimal, old streaming advanced, 134064
github, huffman literals, old streaming advanced, 181107
github, multithreaded with advanced params, old streaming advanced, 141104
github.tar, level -5, old streaming advanced, 51420
github.tar, level -5 with dict, old streaming advanced, 46091
github.tar, level -3, old streaming advanced, 45077
github.tar, level -3 with dict, old streaming advanced, 42222
github.tar, level -1, old streaming advanced, 42536
github.tar, level -1 with dict, old streaming advanced, 41494
github.tar, level -5, old streaming advanced, 52110
github.tar, level -5 with dict, old streaming advanced, 50985
github.tar, level -3, old streaming advanced, 45678
github.tar, level -3 with dict, old streaming advanced, 44729
github.tar, level -1, old streaming advanced, 42560
github.tar, level -1 with dict, old streaming advanced, 41589
github.tar, level 0, old streaming advanced, 38831
github.tar, level 0 with dict, old streaming advanced, 38013
github.tar, level 1, old streaming advanced, 39270
github.tar, level 1 with dict, old streaming advanced, 38934
github.tar, level 1, old streaming advanced, 39200
github.tar, level 1 with dict, old streaming advanced, 38359
github.tar, level 3, old streaming advanced, 38831
github.tar, level 3 with dict, old streaming advanced, 38013
github.tar, level 4, old streaming advanced, 38893
@ -1416,7 +1416,7 @@ github.tar, small chain log, old stre
github.tar, explicit params, old streaming advanced, 41385
github.tar, uncompressed literals, old streaming advanced, 38831
github.tar, uncompressed literals optimal, old streaming advanced, 32134
github.tar, huffman literals, old streaming advanced, 42536
github.tar, huffman literals, old streaming advanced, 42560
github.tar, multithreaded with advanced params, old streaming advanced, 38831
github, level -5 with dict, old streaming cdict, 46718
github, level -3 with dict, old streaming cdict, 45395
@ -1433,11 +1433,11 @@ github, level 13 with dict, old stre
github, level 16 with dict, old streaming cdict, 37577
github, level 19 with dict, old streaming cdict, 37576
github, no source size with dict, old streaming cdict, 40654
github.tar, level -5 with dict, old streaming cdict, 46276
github.tar, level -3 with dict, old streaming cdict, 42354
github.tar, level -1 with dict, old streaming cdict, 41662
github.tar, level -5 with dict, old streaming cdict, 51189
github.tar, level -3 with dict, old streaming cdict, 44821
github.tar, level -1 with dict, old streaming cdict, 41775
github.tar, level 0 with dict, old streaming cdict, 37956
github.tar, level 1 with dict, old streaming cdict, 38761
github.tar, level 1 with dict, old streaming cdict, 38364
github.tar, level 3 with dict, old streaming cdict, 37956
github.tar, level 4 with dict, old streaming cdict, 37927
github.tar, level 5 with dict, old streaming cdict, 38999
@ -1463,11 +1463,11 @@ github, level 13 with dict, old stre
github, level 16 with dict, old streaming advanced cdict, 40789
github, level 19 with dict, old streaming advanced cdict, 37576
github, no source size with dict, old streaming advanced cdict, 40608
github.tar, level -5 with dict, old streaming advanced cdict, 44307
github.tar, level -3 with dict, old streaming advanced cdict, 41359
github.tar, level -1 with dict, old streaming advanced cdict, 41322
github.tar, level -5 with dict, old streaming advanced cdict, 50854
github.tar, level -3 with dict, old streaming advanced cdict, 44571
github.tar, level -1 with dict, old streaming advanced cdict, 41477
github.tar, level 0 with dict, old streaming advanced cdict, 38013
github.tar, level 1 with dict, old streaming advanced cdict, 39002
github.tar, level 1 with dict, old streaming advanced cdict, 38168
github.tar, level 3 with dict, old streaming advanced cdict, 38013
github.tar, level 4 with dict, old streaming advanced cdict, 38063
github.tar, level 5 with dict, old streaming advanced cdict, 38997

1 Data Config Method Total compressed size
59 silesia huffman literals compress cctx 6172178
60 silesia multithreaded with advanced params compress cctx 4842075
61 github level -5 compress cctx 204411
62 github level -5 with dict compress cctx 47294 52059
63 github level -3 compress cctx 193253
64 github level -3 with dict compress cctx 48047 46787
65 github level -1 compress cctx 175468
66 github level -1 with dict compress cctx 43527 43585
67 github level 0 compress cctx 136332
68 github level 0 with dict compress cctx 41534
69 github level 1 compress cctx 142365
70 github level 1 with dict compress cctx 42157 42259
71 github level 3 compress cctx 136332
72 github level 3 with dict compress cctx 41534
73 github level 4 compress cctx 136199
188 github huffman literals zstdcli 144365
189 github multithreaded with advanced params zstdcli 167911
190 github.tar level -5 zstdcli 52114
191 github.tar level -5 with dict zstdcli 46502 51074
192 github.tar level -3 zstdcli 45682
193 github.tar level -3 with dict zstdcli 42181 44660
194 github.tar level -1 zstdcli 42564
195 github.tar level -1 with dict zstdcli 41140 41155
196 github.tar level 0 zstdcli 38835
197 github.tar level 0 with dict zstdcli 37999
198 github.tar level 1 zstdcli 39204
199 github.tar level 1 with dict zstdcli 38288 38093
200 github.tar level 3 zstdcli 38835
201 github.tar level 3 with dict zstdcli 37999
202 github.tar level 4 zstdcli 38897
312 github level 1 with dict advanced one pass 41682
313 github level 1 with dict dms advanced one pass 41682
314 github level 1 with dict dds advanced one pass 41682
315 github level 1 with dict copy advanced one pass 41674 41698
316 github level 1 with dict load advanced one pass 43755 43814
317 github level 3 advanced one pass 136332
318 github level 3 with dict advanced one pass 41148
319 github level 3 with dict dms advanced one pass 41148
422 github huffman literals advanced one pass 142365
423 github multithreaded with advanced params advanced one pass 165911
424 github.tar level -5 advanced one pass 52110
425 github.tar level -5 with dict advanced one pass 46498 51070
426 github.tar level -3 advanced one pass 45678
427 github.tar level -3 with dict advanced one pass 42177 44656
428 github.tar level -1 advanced one pass 42560
429 github.tar level -1 with dict advanced one pass 41136 41151
430 github.tar level 0 advanced one pass 38831
431 github.tar level 0 with dict advanced one pass 37995
432 github.tar level 0 with dict dms advanced one pass 38003
434 github.tar level 0 with dict copy advanced one pass 37995
435 github.tar level 0 with dict load advanced one pass 37956
436 github.tar level 1 advanced one pass 39200
437 github.tar level 1 with dict advanced one pass 38284 38089
438 github.tar level 1 with dict dms advanced one pass 38294
439 github.tar level 1 with dict dds advanced one pass 38294
440 github.tar level 1 with dict copy advanced one pass 38284 38089
441 github.tar level 1 with dict load advanced one pass 38724 38364
442 github.tar level 3 advanced one pass 38831
443 github.tar level 3 with dict advanced one pass 37995
444 github.tar level 3 with dict dms advanced one pass 38003
630 github level 1 with dict advanced one pass small out 41682
631 github level 1 with dict dms advanced one pass small out 41682
632 github level 1 with dict dds advanced one pass small out 41682
633 github level 1 with dict copy advanced one pass small out 41674 41698
634 github level 1 with dict load advanced one pass small out 43755 43814
635 github level 3 advanced one pass small out 136332
636 github level 3 with dict advanced one pass small out 41148
637 github level 3 with dict dms advanced one pass small out 41148
740 github huffman literals advanced one pass small out 142365
741 github multithreaded with advanced params advanced one pass small out 165911
742 github.tar level -5 advanced one pass small out 52110
743 github.tar level -5 with dict advanced one pass small out 46498 51070
744 github.tar level -3 advanced one pass small out 45678
745 github.tar level -3 with dict advanced one pass small out 42177 44656
746 github.tar level -1 advanced one pass small out 42560
747 github.tar level -1 with dict advanced one pass small out 41136 41151
748 github.tar level 0 advanced one pass small out 38831
749 github.tar level 0 with dict advanced one pass small out 37995
750 github.tar level 0 with dict dms advanced one pass small out 38003
752 github.tar level 0 with dict copy advanced one pass small out 37995
753 github.tar level 0 with dict load advanced one pass small out 37956
754 github.tar level 1 advanced one pass small out 39200
755 github.tar level 1 with dict advanced one pass small out 38284 38089
756 github.tar level 1 with dict dms advanced one pass small out 38294
757 github.tar level 1 with dict dds advanced one pass small out 38294
758 github.tar level 1 with dict copy advanced one pass small out 38284 38089
759 github.tar level 1 with dict load advanced one pass small out 38724 38364
760 github.tar level 3 advanced one pass small out 38831
761 github.tar level 3 with dict advanced one pass small out 37995
762 github.tar level 3 with dict dms advanced one pass small out 38003
864 github.tar uncompressed literals optimal advanced one pass small out 35397
865 github.tar huffman literals advanced one pass small out 38853
866 github.tar multithreaded with advanced params advanced one pass small out 41525
867 silesia level -5 advanced streaming 6963781 6852424
868 silesia level -3 advanced streaming 6610376 6503413
869 silesia level -1 advanced streaming 6179294 6172179
870 silesia level 0 advanced streaming 4842075
871 silesia level 1 advanced streaming 5310178 5306426
872 silesia level 3 advanced streaming 4842075
873 silesia level 4 advanced streaming 4779186
874 silesia level 5 row 1 advanced streaming 4666323
896 silesia explicit params advanced streaming 4795452
897 silesia uncompressed literals advanced streaming 5120566
898 silesia uncompressed literals optimal advanced streaming 4319518
899 silesia huffman literals advanced streaming 5327881 5321346
900 silesia multithreaded with advanced params advanced streaming 5120566
901 silesia.tar level -5 advanced streaming 7043687 6853609
902 silesia.tar level -3 advanced streaming 6671317 6505969
903 silesia.tar level -1 advanced streaming 6187457 6179028
904 silesia.tar level 0 advanced streaming 4859271
905 silesia.tar level 1 advanced streaming 5333896 5327377
906 silesia.tar level 3 advanced streaming 4859271
907 silesia.tar level 4 advanced streaming 4797470
908 silesia.tar level 5 row 1 advanced streaming 4677748
930 silesia.tar explicit params advanced streaming 4806873
931 silesia.tar uncompressed literals advanced streaming 5127423
932 silesia.tar uncompressed literals optimal advanced streaming 4310141
933 silesia.tar huffman literals advanced streaming 5349624 5341688
934 silesia.tar multithreaded with advanced params advanced streaming 5122567
935 github level -5 advanced streaming 204411
936 github level -5 with dict advanced streaming 46718
948 github level 1 with dict advanced streaming 41682
949 github level 1 with dict dms advanced streaming 41682
950 github level 1 with dict dds advanced streaming 41682
951 github level 1 with dict copy advanced streaming 41674 41698
952 github level 1 with dict load advanced streaming 43755 43814
953 github level 3 advanced streaming 136332
954 github level 3 with dict advanced streaming 41148
955 github level 3 with dict dms advanced streaming 41148
1057 github uncompressed literals optimal advanced streaming 157227
1058 github huffman literals advanced streaming 142365
1059 github multithreaded with advanced params advanced streaming 165911
1060 github.tar level -5 advanced streaming 51420 52110
1061 github.tar level -5 with dict advanced streaming 45495 51070
1062 github.tar level -3 advanced streaming 45077 45678
1063 github.tar level -3 with dict advanced streaming 41627 44656
1064 github.tar level -1 advanced streaming 42536 42560
1065 github.tar level -1 with dict advanced streaming 41198 41151
1066 github.tar level 0 advanced streaming 38831
1067 github.tar level 0 with dict advanced streaming 37995
1068 github.tar level 0 with dict dms advanced streaming 38003
1069 github.tar level 0 with dict dds advanced streaming 38003
1070 github.tar level 0 with dict copy advanced streaming 37995
1071 github.tar level 0 with dict load advanced streaming 37956
1072 github.tar level 1 advanced streaming 39270 39200
1073 github.tar level 1 with dict advanced streaming 38316 38089
1074 github.tar level 1 with dict dms advanced streaming 38326 38294
1075 github.tar level 1 with dict dds advanced streaming 38326 38294
1076 github.tar level 1 with dict copy advanced streaming 38316 38089
1077 github.tar level 1 with dict load advanced streaming 38761 38364
1078 github.tar level 3 advanced streaming 38831
1079 github.tar level 3 with dict advanced streaming 37995
1080 github.tar level 3 with dict dms advanced streaming 38003
1180 github.tar explicit params advanced streaming 41385
1181 github.tar uncompressed literals advanced streaming 41525
1182 github.tar uncompressed literals optimal advanced streaming 35397
1183 github.tar huffman literals advanced streaming 38874 38853
1184 github.tar multithreaded with advanced params advanced streaming 41525
1185 silesia level -5 old streaming 6963781 6852424
1186 silesia level -3 old streaming 6610376 6503413
1187 silesia level -1 old streaming 6179294 6172179
1188 silesia level 0 old streaming 4842075
1189 silesia level 1 old streaming 5310178 5306426
1190 silesia level 3 old streaming 4842075
1191 silesia level 4 old streaming 4779186
1192 silesia level 5 old streaming 4666323
1199 silesia no source size old streaming 4842039
1200 silesia uncompressed literals old streaming 4842075
1201 silesia uncompressed literals optimal old streaming 4296686
1202 silesia huffman literals old streaming 6179294 6172179
1203 silesia.tar level -5 old streaming 7043687 6853609
1204 silesia.tar level -3 old streaming 6671317 6505969
1205 silesia.tar level -1 old streaming 6187457 6179028
1206 silesia.tar level 0 old streaming 4859271
1207 silesia.tar level 1 old streaming 5333896 5327377
1208 silesia.tar level 3 old streaming 4859271
1209 silesia.tar level 4 old streaming 4797470
1210 silesia.tar level 5 old streaming 4677748
1217 silesia.tar no source size old streaming 4859267
1218 silesia.tar uncompressed literals old streaming 4859271
1219 silesia.tar uncompressed literals optimal old streaming 4267266
1220 silesia.tar huffman literals old streaming 6187457 6179028
1221 github level -5 old streaming 204411
1222 github level -5 with dict old streaming 46718
1223 github level -3 old streaming 193253
1251 github uncompressed literals old streaming 136332
1252 github uncompressed literals optimal old streaming 134064
1253 github huffman literals old streaming 175468
1254 github.tar level -5 old streaming 51420 52110
1255 github.tar level -5 with dict old streaming 45495 51070
1256 github.tar level -3 old streaming 45077 45678
1257 github.tar level -3 with dict old streaming 41627 44656
1258 github.tar level -1 old streaming 42536 42560
1259 github.tar level -1 with dict old streaming 41198 41151
1260 github.tar level 0 old streaming 38831
1261 github.tar level 0 with dict old streaming 37995
1262 github.tar level 1 old streaming 39270 39200
1263 github.tar level 1 with dict old streaming 38316 38089
1264 github.tar level 3 old streaming 38831
1265 github.tar level 3 with dict old streaming 37995
1266 github.tar level 4 old streaming 38893
1283 github.tar no source size with dict old streaming 38000
1284 github.tar uncompressed literals old streaming 38831
1285 github.tar uncompressed literals optimal old streaming 32134
1286 github.tar huffman literals old streaming 42536 42560
1287 silesia level -5 old streaming advanced 6963781 6852424
1288 silesia level -3 old streaming advanced 6610376 6503413
1289 silesia level -1 old streaming advanced 6179294 6172179
1290 silesia level 0 old streaming advanced 4842075
1291 silesia level 1 old streaming advanced 5310178 5306426
1292 silesia level 3 old streaming advanced 4842075
1293 silesia level 4 old streaming advanced 4779186
1294 silesia level 5 old streaming advanced 4666323
1308 silesia explicit params old streaming advanced 4795452
1309 silesia uncompressed literals old streaming advanced 4842075
1310 silesia uncompressed literals optimal old streaming advanced 4296686
1311 silesia huffman literals old streaming advanced 6179294 6172179
1312 silesia multithreaded with advanced params old streaming advanced 4842075
1313 silesia.tar level -5 old streaming advanced 7043687 6853609
1314 silesia.tar level -3 old streaming advanced 6671317 6505969
1315 silesia.tar level -1 old streaming advanced 6187457 6179028
1316 silesia.tar level 0 old streaming advanced 4859271
1317 silesia.tar level 1 old streaming advanced 5333896 5327377
1318 silesia.tar level 3 old streaming advanced 4859271
1319 silesia.tar level 4 old streaming advanced 4797470
1320 silesia.tar level 5 old streaming advanced 4677748
1334 silesia.tar explicit params old streaming advanced 4806873
1335 silesia.tar uncompressed literals old streaming advanced 4859271
1336 silesia.tar uncompressed literals optimal old streaming advanced 4267266
1337 silesia.tar huffman literals old streaming advanced 6187457 6179028
1338 silesia.tar multithreaded with advanced params old streaming advanced 4859271
1339 github level -5 old streaming advanced 213265
1340 github level -5 with dict old streaming advanced 49562
1377 github uncompressed literals optimal old streaming advanced 134064
1378 github huffman literals old streaming advanced 181107
1379 github multithreaded with advanced params old streaming advanced 141104
1380 github.tar level -5 old streaming advanced 51420 52110
1381 github.tar level -5 with dict old streaming advanced 46091 50985
1382 github.tar level -3 old streaming advanced 45077 45678
1383 github.tar level -3 with dict old streaming advanced 42222 44729
1384 github.tar level -1 old streaming advanced 42536 42560
1385 github.tar level -1 with dict old streaming advanced 41494 41589
1386 github.tar level 0 old streaming advanced 38831
1387 github.tar level 0 with dict old streaming advanced 38013
1388 github.tar level 1 old streaming advanced 39270 39200
1389 github.tar level 1 with dict old streaming advanced 38934 38359
1390 github.tar level 3 old streaming advanced 38831
1391 github.tar level 3 with dict old streaming advanced 38013
1392 github.tar level 4 old streaming advanced 38893
1416 github.tar explicit params old streaming advanced 41385
1417 github.tar uncompressed literals old streaming advanced 38831
1418 github.tar uncompressed literals optimal old streaming advanced 32134
1419 github.tar huffman literals old streaming advanced 42536 42560
1420 github.tar multithreaded with advanced params old streaming advanced 38831
1421 github level -5 with dict old streaming cdict 46718
1422 github level -3 with dict old streaming cdict 45395
1433 github level 16 with dict old streaming cdict 37577
1434 github level 19 with dict old streaming cdict 37576
1435 github no source size with dict old streaming cdict 40654
1436 github.tar level -5 with dict old streaming cdict 46276 51189
1437 github.tar level -3 with dict old streaming cdict 42354 44821
1438 github.tar level -1 with dict old streaming cdict 41662 41775
1439 github.tar level 0 with dict old streaming cdict 37956
1440 github.tar level 1 with dict old streaming cdict 38761 38364
1441 github.tar level 3 with dict old streaming cdict 37956
1442 github.tar level 4 with dict old streaming cdict 37927
1443 github.tar level 5 with dict old streaming cdict 38999
1463 github level 16 with dict old streaming advanced cdict 40789
1464 github level 19 with dict old streaming advanced cdict 37576
1465 github no source size with dict old streaming advanced cdict 40608
1466 github.tar level -5 with dict old streaming advanced cdict 44307 50854
1467 github.tar level -3 with dict old streaming advanced cdict 41359 44571
1468 github.tar level -1 with dict old streaming advanced cdict 41322 41477
1469 github.tar level 0 with dict old streaming advanced cdict 38013
1470 github.tar level 1 with dict old streaming advanced cdict 39002 38168
1471 github.tar level 3 with dict old streaming advanced cdict 38013
1472 github.tar level 4 with dict old streaming advanced cdict 38063
1473 github.tar level 5 with dict old streaming advanced cdict 38997