[regression] Add more streaming tests

* Test all of the `ZSTD_initCStream*()` variants.
* Fix a typo in the zstdcli method.
dev
Nick Terrell 2019-03-20 21:20:14 -07:00
parent 0dd3588acc
commit 11e73576bb
3 changed files with 465 additions and 60 deletions

View File

@ -97,7 +97,7 @@ static param_value_t mt_advanced_param_values[] = {
static config_t mt_advanced = { static config_t mt_advanced = {
.name = "multithreaded with advanced params", .name = "multithreaded with advanced params",
.cli_args = "-T2 --no-compressed-literals", .cli_args = "-T2 --no-compress-literals",
.param_values = PARAM_VALUES(mt_advanced_param_values), .param_values = PARAM_VALUES(mt_advanced_param_values),
}; };

View File

@ -432,77 +432,158 @@ out:
return result; return result;
} }
static result_t old_streaming_compress( static int init_cstream(
method_state_t* base, buffer_state_t* state,
config_t const* config) { ZSTD_CStream* zcs,
buffer_state_t* state = container_of(base, buffer_state_t, base); config_t const* config,
int const advanced,
if (buffer_state_bad(state, config)) ZSTD_CDict** cdict)
return result_error(result_error_system_error); {
int const level = config_get_level(config);
if (level == CONFIG_NO_LEVEL)
return result_error(result_error_skip);
ZSTD_CStream* zcs = ZSTD_createCStream();
result_t result;
if (zcs == NULL) {
result = result_error(result_error_compression_error);
goto out;
}
size_t zret; size_t zret;
if (config->use_dictionary) { if (advanced) {
zret = ZSTD_initCStream_usingDict( ZSTD_parameters const params = config_get_zstd_params(config, 0, 0);
zcs, state->dictionary.data, state->dictionary.size, level); ZSTD_CDict* dict = NULL;
if (cdict) {
*cdict = ZSTD_createCDict_advanced(
state->dictionary.data,
state->dictionary.size,
ZSTD_dlm_byRef,
ZSTD_dct_auto,
params.cParams,
ZSTD_defaultCMem);
if (!*cdict) {
return 1;
}
zret = ZSTD_initCStream_usingCDict_advanced(
zcs, *cdict, params.fParams, ZSTD_CONTENTSIZE_UNKNOWN);
} else {
zret = ZSTD_initCStream_advanced(
zcs,
state->dictionary.data,
state->dictionary.size,
params,
ZSTD_CONTENTSIZE_UNKNOWN);
}
} else { } else {
zret = ZSTD_initCStream(zcs, level); int const level = config_get_level(config);
if (cdict) {
*cdict = ZSTD_createCDict(
state->dictionary.data,
state->dictionary.size,
level);
if (!*cdict) {
return 1;
}
zret = ZSTD_initCStream_usingCDict(zcs, *cdict);
} else if (config->use_dictionary) {
zret = ZSTD_initCStream_usingDict(
zcs, state->dictionary.data, state->dictionary.size, level);
} else {
zret = ZSTD_initCStream(zcs, level);
}
} }
if (ZSTD_isError(zret)) { if (ZSTD_isError(zret)) {
result = result_error(result_error_compression_error); return 1;
goto out; }
return 0;
}
static result_t old_streaming_compress_internal(
method_state_t* base,
config_t const* config,
int const advanced,
int const cdict) {
buffer_state_t* state = container_of(base, buffer_state_t, base);
if (buffer_state_bad(state, config))
return result_error(result_error_system_error);
ZSTD_CStream* zcs = ZSTD_createCStream();
ZSTD_CDict* cd = NULL;
result_t result;
if (zcs == NULL) {
result = result_error(result_error_compression_error);
goto out;
}
if (init_cstream(state, zcs, config, advanced, cdict ? &cd : NULL)) {
result = result_error(result_error_compression_error);
goto out;
}
result_data_t data = {.total_size = 0};
for (size_t i = 0; i < state->inputs.size; ++i) {
data_buffer_t input = state->inputs.buffers[i];
size_t zret = ZSTD_resetCStream(
zcs,
config->no_pledged_src_size ? ZSTD_CONTENTSIZE_UNKNOWN : input.size);
if (ZSTD_isError(zret)) {
result = result_error(result_error_compression_error);
goto out;
} }
result_data_t data = {.total_size = 0}; while (input.size > 0) {
for (size_t i = 0; i < state->inputs.size; ++i) { ZSTD_inBuffer in = {input.data, MIN(input.size, 4096)};
data_buffer_t input = state->inputs.buffers[i]; input.data += in.size;
zret = ZSTD_resetCStream( input.size -= in.size;
zcs, ZSTD_EndDirective const op =
config->no_pledged_src_size ? ZSTD_CONTENTSIZE_UNKNOWN input.size > 0 ? ZSTD_e_continue : ZSTD_e_end;
: input.size); zret = 0;
while (in.pos < in.size || (op == ZSTD_e_end && zret != 0)) {
ZSTD_outBuffer out = {state->compressed.data,
MIN(state->compressed.capacity, 1024)};
if (op == ZSTD_e_continue || in.pos < in.size)
zret = ZSTD_compressStream(zcs, &out, &in);
else
zret = ZSTD_endStream(zcs, &out);
if (ZSTD_isError(zret)) { if (ZSTD_isError(zret)) {
result = result_error(result_error_compression_error); result = result_error(result_error_compression_error);
goto out; goto out;
}
while (input.size > 0) {
ZSTD_inBuffer in = {input.data, MIN(input.size, 4096)};
input.data += in.size;
input.size -= in.size;
ZSTD_EndDirective const op =
input.size > 0 ? ZSTD_e_continue : ZSTD_e_end;
zret = 0;
while (in.pos < in.size || (op == ZSTD_e_end && zret != 0)) {
ZSTD_outBuffer out = {state->compressed.data,
MIN(state->compressed.capacity, 1024)};
if (op == ZSTD_e_continue || in.pos < in.size)
zret = ZSTD_compressStream(zcs, &out, &in);
else
zret = ZSTD_endStream(zcs, &out);
if (ZSTD_isError(zret)) {
result = result_error(result_error_compression_error);
goto out;
}
data.total_size += out.pos;
}
} }
data.total_size += out.pos;
}
} }
}
result = result_data(data); result = result_data(data);
out: out:
ZSTD_freeCStream(zcs); ZSTD_freeCStream(zcs);
ZSTD_freeCDict(cd);
return result; return result;
} }
static result_t old_streaming_compress(
method_state_t* base,
config_t const* config)
{
return old_streaming_compress_internal(
base, config, /* advanced */ 0, /* cdict */ 0);
}
static result_t old_streaming_compress_advanced(
method_state_t* base,
config_t const* config)
{
return old_streaming_compress_internal(
base, config, /* advanced */ 1, /* cdict */ 0);
}
static result_t old_streaming_compress_cdict(
method_state_t* base,
config_t const* config)
{
return old_streaming_compress_internal(
base, config, /* advanced */ 0, /* cdict */ 1);
}
static result_t old_streaming_compress_cdict_advanced(
method_state_t* base,
config_t const* config)
{
return old_streaming_compress_internal(
base, config, /* advanced */ 1, /* cdict */ 1);
}
method_t const simple = { method_t const simple = {
.name = "compress simple", .name = "compress simple",
.create = buffer_state_create, .create = buffer_state_create,
@ -545,6 +626,27 @@ method_t const old_streaming = {
.destroy = buffer_state_destroy, .destroy = buffer_state_destroy,
}; };
method_t const old_streaming_advanced = {
.name = "old streaming advanced",
.create = buffer_state_create,
.compress = old_streaming_compress,
.destroy = buffer_state_destroy,
};
method_t const old_streaming_cdict = {
.name = "old streaming cdcit",
.create = buffer_state_create,
.compress = old_streaming_compress,
.destroy = buffer_state_destroy,
};
method_t const old_streaming_advanced_cdict = {
.name = "old streaming advanced cdict",
.create = buffer_state_create,
.compress = old_streaming_compress,
.destroy = buffer_state_destroy,
};
method_t const cli = { method_t const cli = {
.name = "zstdcli", .name = "zstdcli",
.create = method_state_create, .create = method_state_create,
@ -560,6 +662,9 @@ static method_t const* g_methods[] = {
&advanced_one_pass_small_out, &advanced_one_pass_small_out,
&advanced_streaming, &advanced_streaming,
&old_streaming, &old_streaming,
&old_streaming_advanced,
&old_streaming_cdict,
&old_streaming_advanced_cdict,
NULL, NULL,
}; };

View File

@ -104,7 +104,7 @@ silesia, explicit params, zstdcli,
silesia, uncompressed literals, zstdcli, 5155472 silesia, uncompressed literals, zstdcli, 5155472
silesia, uncompressed literals optimal, zstdcli, 4325475 silesia, uncompressed literals optimal, zstdcli, 4325475
silesia, huffman literals, zstdcli, 5341405 silesia, huffman literals, zstdcli, 5341405
silesia, multithreaded with advanced params, zstdcli, compression error silesia, multithreaded with advanced params, zstdcli, 5155472
silesia.tar, level -5, zstdcli, 7161160 silesia.tar, level -5, zstdcli, 7161160
silesia.tar, level -3, zstdcli, 6789865 silesia.tar, level -3, zstdcli, 6789865
silesia.tar, level -1, zstdcli, 6196433 silesia.tar, level -1, zstdcli, 6196433
@ -130,7 +130,7 @@ silesia.tar, explicit params, zstdcli,
silesia.tar, uncompressed literals, zstdcli, 5158134 silesia.tar, uncompressed literals, zstdcli, 5158134
silesia.tar, uncompressed literals optimal, zstdcli, 4321098 silesia.tar, uncompressed literals optimal, zstdcli, 4321098
silesia.tar, huffman literals, zstdcli, 5358479 silesia.tar, huffman literals, zstdcli, 5358479
silesia.tar, multithreaded with advanced params, zstdcli, compression error silesia.tar, multithreaded with advanced params, zstdcli, 5158134
github, level -5, zstdcli, 234744 github, level -5, zstdcli, 234744
github, level -5 with dict, zstdcli, 48718 github, level -5 with dict, zstdcli, 48718
github, level -3, zstdcli, 222611 github, level -3, zstdcli, 222611
@ -169,7 +169,7 @@ github, explicit params, zstdcli,
github, uncompressed literals, zstdcli, 169004 github, uncompressed literals, zstdcli, 169004
github, uncompressed literals optimal, zstdcli, 158824 github, uncompressed literals optimal, zstdcli, 158824
github, huffman literals, zstdcli, 145457 github, huffman literals, zstdcli, 145457
github, multithreaded with advanced params, zstdcli, compression error github, multithreaded with advanced params, zstdcli, 169004
silesia, level -5, advanced one pass, 7152294 silesia, level -5, advanced one pass, 7152294
silesia, level -3, advanced one pass, 6789969 silesia, level -3, advanced one pass, 6789969
silesia, level -1, advanced one pass, 6191548 silesia, level -1, advanced one pass, 6191548
@ -461,9 +461,17 @@ silesia, level 13, old stre
silesia, level 16, old streaming, 4377391 silesia, level 16, old streaming, 4377391
silesia, level 19, old streaming, 4293262 silesia, level 19, old streaming, 4293262
silesia, no source size, old streaming, 4862341 silesia, no source size, old streaming, 4862341
silesia, long distance mode, old streaming, 12000408
silesia, multithreaded, old streaming, 12000408
silesia, multithreaded long distance mode, old streaming, 12000408
silesia, small window log, old streaming, 12000408
silesia, small hash log, old streaming, 12000408
silesia, small chain log, old streaming, 12000408
silesia, explicit params, old streaming, 12000408
silesia, uncompressed literals, old streaming, 4862377 silesia, uncompressed literals, old streaming, 4862377
silesia, uncompressed literals optimal, old streaming, 4293262 silesia, uncompressed literals optimal, old streaming, 4293262
silesia, huffman literals, old streaming, 6191549 silesia, huffman literals, old streaming, 6191549
silesia, multithreaded with advanced params, old streaming, 12000408
silesia.tar, level -5, old streaming, 7160440 silesia.tar, level -5, old streaming, 7160440
silesia.tar, level -3, old streaming, 6789026 silesia.tar, level -3, old streaming, 6789026
silesia.tar, level -1, old streaming, 6195465 silesia.tar, level -1, old streaming, 6195465
@ -479,9 +487,17 @@ silesia.tar, level 13, old stre
silesia.tar, level 16, old streaming, 4381277 silesia.tar, level 16, old streaming, 4381277
silesia.tar, level 19, old streaming, 4281514 silesia.tar, level 19, old streaming, 4281514
silesia.tar, no source size, old streaming, 4875006 silesia.tar, no source size, old streaming, 4875006
silesia.tar, long distance mode, old streaming, 12022046
silesia.tar, multithreaded, old streaming, 12022046
silesia.tar, multithreaded long distance mode, old streaming, 12022046
silesia.tar, small window log, old streaming, 12022046
silesia.tar, small hash log, old streaming, 12022046
silesia.tar, small chain log, old streaming, 12022046
silesia.tar, explicit params, old streaming, 12022046
silesia.tar, uncompressed literals, old streaming, 4875010 silesia.tar, uncompressed literals, old streaming, 4875010
silesia.tar, uncompressed literals optimal, old streaming, 4281514 silesia.tar, uncompressed literals optimal, old streaming, 4281514
silesia.tar, huffman literals, old streaming, 6195465 silesia.tar, huffman literals, old streaming, 6195465
silesia.tar, multithreaded with advanced params, old streaming, 12022046
github, level -5, old streaming, 232744 github, level -5, old streaming, 232744
github, level -5 with dict, old streaming, 46718 github, level -5 with dict, old streaming, 46718
github, level -3, old streaming, 220611 github, level -3, old streaming, 220611
@ -511,6 +527,290 @@ github, level 16 with dict, old stre
github, level 19, old streaming, 133717 github, level 19, old streaming, 133717
github, level 19 with dict, old streaming, 37576 github, level 19 with dict, old streaming, 37576
github, no source size, old streaming, 141003 github, no source size, old streaming, 141003
github, long distance mode, old streaming, 412933
github, multithreaded, old streaming, 412933
github, multithreaded long distance mode, old streaming, 412933
github, small window log, old streaming, 412933
github, small hash log, old streaming, 412933
github, small chain log, old streaming, 412933
github, explicit params, old streaming, 412933
github, uncompressed literals, old streaming, 136397 github, uncompressed literals, old streaming, 136397
github, uncompressed literals optimal, old streaming, 133717 github, uncompressed literals optimal, old streaming, 133717
github, huffman literals, old streaming, 176575 github, huffman literals, old streaming, 176575
github, multithreaded with advanced params, old streaming, 412933
silesia, level -5, old streaming advanced, 7152294
silesia, level -3, old streaming advanced, 6789973
silesia, level -1, old streaming advanced, 6191549
silesia, level 0, old streaming advanced, 4862377
silesia, level 1, old streaming advanced, 5318036
silesia, level 3, old streaming advanced, 4862377
silesia, level 4, old streaming advanced, 4800629
silesia, level 5, old streaming advanced, 4710178
silesia, level 6, old streaming advanced, 4659996
silesia, level 7, old streaming advanced, 4596234
silesia, level 9, old streaming advanced, 4543862
silesia, level 13, old streaming advanced, 4482073
silesia, level 16, old streaming advanced, 4377391
silesia, level 19, old streaming advanced, 4293262
silesia, no source size, old streaming advanced, 4862341
silesia, long distance mode, old streaming advanced, 12000408
silesia, multithreaded, old streaming advanced, 12000408
silesia, multithreaded long distance mode, old streaming advanced, 12000408
silesia, small window log, old streaming advanced, 12000408
silesia, small hash log, old streaming advanced, 12000408
silesia, small chain log, old streaming advanced, 12000408
silesia, explicit params, old streaming advanced, 12000408
silesia, uncompressed literals, old streaming advanced, 4862377
silesia, uncompressed literals optimal, old streaming advanced, 4293262
silesia, huffman literals, old streaming advanced, 6191549
silesia, multithreaded with advanced params, old streaming advanced, 12000408
silesia.tar, level -5, old streaming advanced, 7160440
silesia.tar, level -3, old streaming advanced, 6789026
silesia.tar, level -1, old streaming advanced, 6195465
silesia.tar, level 0, old streaming advanced, 4875010
silesia.tar, level 1, old streaming advanced, 5339701
silesia.tar, level 3, old streaming advanced, 4875010
silesia.tar, level 4, old streaming advanced, 4813507
silesia.tar, level 5, old streaming advanced, 4722240
silesia.tar, level 6, old streaming advanced, 4672203
silesia.tar, level 7, old streaming advanced, 4606658
silesia.tar, level 9, old streaming advanced, 4554105
silesia.tar, level 13, old streaming advanced, 4491703
silesia.tar, level 16, old streaming advanced, 4381277
silesia.tar, level 19, old streaming advanced, 4281514
silesia.tar, no source size, old streaming advanced, 4875006
silesia.tar, long distance mode, old streaming advanced, 12022046
silesia.tar, multithreaded, old streaming advanced, 12022046
silesia.tar, multithreaded long distance mode, old streaming advanced, 12022046
silesia.tar, small window log, old streaming advanced, 12022046
silesia.tar, small hash log, old streaming advanced, 12022046
silesia.tar, small chain log, old streaming advanced, 12022046
silesia.tar, explicit params, old streaming advanced, 12022046
silesia.tar, uncompressed literals, old streaming advanced, 4875010
silesia.tar, uncompressed literals optimal, old streaming advanced, 4281514
silesia.tar, huffman literals, old streaming advanced, 6195465
silesia.tar, multithreaded with advanced params, old streaming advanced, 12022046
github, level -5, old streaming advanced, 232744
github, level -5 with dict, old streaming advanced, 46718
github, level -3, old streaming advanced, 220611
github, level -3 with dict, old streaming advanced, 45395
github, level -1, old streaming advanced, 176575
github, level -1 with dict, old streaming advanced, 43170
github, level 0, old streaming advanced, 136397
github, level 0 with dict, old streaming advanced, 41170
github, level 1, old streaming advanced, 143457
github, level 1 with dict, old streaming advanced, 41682
github, level 3, old streaming advanced, 136397
github, level 3 with dict, old streaming advanced, 41170
github, level 4, old streaming advanced, 136144
github, level 4 with dict, old streaming advanced, 41306
github, level 5, old streaming advanced, 135106
github, level 5 with dict, old streaming advanced, 38938
github, level 6, old streaming advanced, 135108
github, level 6 with dict, old streaming advanced, 38632
github, level 7, old streaming advanced, 135108
github, level 7 with dict, old streaming advanced, 38766
github, level 9, old streaming advanced, 135108
github, level 9 with dict, old streaming advanced, 39326
github, level 13, old streaming advanced, 133717
github, level 13 with dict, old streaming advanced, 39716
github, level 16, old streaming advanced, 133717
github, level 16 with dict, old streaming advanced, 37577
github, level 19, old streaming advanced, 133717
github, level 19 with dict, old streaming advanced, 37576
github, no source size, old streaming advanced, 141003
github, long distance mode, old streaming advanced, 412933
github, multithreaded, old streaming advanced, 412933
github, multithreaded long distance mode, old streaming advanced, 412933
github, small window log, old streaming advanced, 412933
github, small hash log, old streaming advanced, 412933
github, small chain log, old streaming advanced, 412933
github, explicit params, old streaming advanced, 412933
github, uncompressed literals, old streaming advanced, 136397
github, uncompressed literals optimal, old streaming advanced, 133717
github, huffman literals, old streaming advanced, 176575
github, multithreaded with advanced params, old streaming advanced, 412933
silesia, level -5, old streaming cdcit, 7152294
silesia, level -3, old streaming cdcit, 6789973
silesia, level -1, old streaming cdcit, 6191549
silesia, level 0, old streaming cdcit, 4862377
silesia, level 1, old streaming cdcit, 5318036
silesia, level 3, old streaming cdcit, 4862377
silesia, level 4, old streaming cdcit, 4800629
silesia, level 5, old streaming cdcit, 4710178
silesia, level 6, old streaming cdcit, 4659996
silesia, level 7, old streaming cdcit, 4596234
silesia, level 9, old streaming cdcit, 4543862
silesia, level 13, old streaming cdcit, 4482073
silesia, level 16, old streaming cdcit, 4377391
silesia, level 19, old streaming cdcit, 4293262
silesia, no source size, old streaming cdcit, 4862341
silesia, long distance mode, old streaming cdcit, 12000408
silesia, multithreaded, old streaming cdcit, 12000408
silesia, multithreaded long distance mode, old streaming cdcit, 12000408
silesia, small window log, old streaming cdcit, 12000408
silesia, small hash log, old streaming cdcit, 12000408
silesia, small chain log, old streaming cdcit, 12000408
silesia, explicit params, old streaming cdcit, 12000408
silesia, uncompressed literals, old streaming cdcit, 4862377
silesia, uncompressed literals optimal, old streaming cdcit, 4293262
silesia, huffman literals, old streaming cdcit, 6191549
silesia, multithreaded with advanced params, old streaming cdcit, 12000408
silesia.tar, level -5, old streaming cdcit, 7160440
silesia.tar, level -3, old streaming cdcit, 6789026
silesia.tar, level -1, old streaming cdcit, 6195465
silesia.tar, level 0, old streaming cdcit, 4875010
silesia.tar, level 1, old streaming cdcit, 5339701
silesia.tar, level 3, old streaming cdcit, 4875010
silesia.tar, level 4, old streaming cdcit, 4813507
silesia.tar, level 5, old streaming cdcit, 4722240
silesia.tar, level 6, old streaming cdcit, 4672203
silesia.tar, level 7, old streaming cdcit, 4606658
silesia.tar, level 9, old streaming cdcit, 4554105
silesia.tar, level 13, old streaming cdcit, 4491703
silesia.tar, level 16, old streaming cdcit, 4381277
silesia.tar, level 19, old streaming cdcit, 4281514
silesia.tar, no source size, old streaming cdcit, 4875006
silesia.tar, long distance mode, old streaming cdcit, 12022046
silesia.tar, multithreaded, old streaming cdcit, 12022046
silesia.tar, multithreaded long distance mode, old streaming cdcit, 12022046
silesia.tar, small window log, old streaming cdcit, 12022046
silesia.tar, small hash log, old streaming cdcit, 12022046
silesia.tar, small chain log, old streaming cdcit, 12022046
silesia.tar, explicit params, old streaming cdcit, 12022046
silesia.tar, uncompressed literals, old streaming cdcit, 4875010
silesia.tar, uncompressed literals optimal, old streaming cdcit, 4281514
silesia.tar, huffman literals, old streaming cdcit, 6195465
silesia.tar, multithreaded with advanced params, old streaming cdcit, 12022046
github, level -5, old streaming cdcit, 232744
github, level -5 with dict, old streaming cdcit, 46718
github, level -3, old streaming cdcit, 220611
github, level -3 with dict, old streaming cdcit, 45395
github, level -1, old streaming cdcit, 176575
github, level -1 with dict, old streaming cdcit, 43170
github, level 0, old streaming cdcit, 136397
github, level 0 with dict, old streaming cdcit, 41170
github, level 1, old streaming cdcit, 143457
github, level 1 with dict, old streaming cdcit, 41682
github, level 3, old streaming cdcit, 136397
github, level 3 with dict, old streaming cdcit, 41170
github, level 4, old streaming cdcit, 136144
github, level 4 with dict, old streaming cdcit, 41306
github, level 5, old streaming cdcit, 135106
github, level 5 with dict, old streaming cdcit, 38938
github, level 6, old streaming cdcit, 135108
github, level 6 with dict, old streaming cdcit, 38632
github, level 7, old streaming cdcit, 135108
github, level 7 with dict, old streaming cdcit, 38766
github, level 9, old streaming cdcit, 135108
github, level 9 with dict, old streaming cdcit, 39326
github, level 13, old streaming cdcit, 133717
github, level 13 with dict, old streaming cdcit, 39716
github, level 16, old streaming cdcit, 133717
github, level 16 with dict, old streaming cdcit, 37577
github, level 19, old streaming cdcit, 133717
github, level 19 with dict, old streaming cdcit, 37576
github, no source size, old streaming cdcit, 141003
github, long distance mode, old streaming cdcit, 412933
github, multithreaded, old streaming cdcit, 412933
github, multithreaded long distance mode, old streaming cdcit, 412933
github, small window log, old streaming cdcit, 412933
github, small hash log, old streaming cdcit, 412933
github, small chain log, old streaming cdcit, 412933
github, explicit params, old streaming cdcit, 412933
github, uncompressed literals, old streaming cdcit, 136397
github, uncompressed literals optimal, old streaming cdcit, 133717
github, huffman literals, old streaming cdcit, 176575
github, multithreaded with advanced params, old streaming cdcit, 412933
silesia, level -5, old streaming advanced cdict, 7152294
silesia, level -3, old streaming advanced cdict, 6789973
silesia, level -1, old streaming advanced cdict, 6191549
silesia, level 0, old streaming advanced cdict, 4862377
silesia, level 1, old streaming advanced cdict, 5318036
silesia, level 3, old streaming advanced cdict, 4862377
silesia, level 4, old streaming advanced cdict, 4800629
silesia, level 5, old streaming advanced cdict, 4710178
silesia, level 6, old streaming advanced cdict, 4659996
silesia, level 7, old streaming advanced cdict, 4596234
silesia, level 9, old streaming advanced cdict, 4543862
silesia, level 13, old streaming advanced cdict, 4482073
silesia, level 16, old streaming advanced cdict, 4377391
silesia, level 19, old streaming advanced cdict, 4293262
silesia, no source size, old streaming advanced cdict, 4862341
silesia, long distance mode, old streaming advanced cdict, 12000408
silesia, multithreaded, old streaming advanced cdict, 12000408
silesia, multithreaded long distance mode, old streaming advanced cdict, 12000408
silesia, small window log, old streaming advanced cdict, 12000408
silesia, small hash log, old streaming advanced cdict, 12000408
silesia, small chain log, old streaming advanced cdict, 12000408
silesia, explicit params, old streaming advanced cdict, 12000408
silesia, uncompressed literals, old streaming advanced cdict, 4862377
silesia, uncompressed literals optimal, old streaming advanced cdict, 4293262
silesia, huffman literals, old streaming advanced cdict, 6191549
silesia, multithreaded with advanced params, old streaming advanced cdict, 12000408
silesia.tar, level -5, old streaming advanced cdict, 7160440
silesia.tar, level -3, old streaming advanced cdict, 6789026
silesia.tar, level -1, old streaming advanced cdict, 6195465
silesia.tar, level 0, old streaming advanced cdict, 4875010
silesia.tar, level 1, old streaming advanced cdict, 5339701
silesia.tar, level 3, old streaming advanced cdict, 4875010
silesia.tar, level 4, old streaming advanced cdict, 4813507
silesia.tar, level 5, old streaming advanced cdict, 4722240
silesia.tar, level 6, old streaming advanced cdict, 4672203
silesia.tar, level 7, old streaming advanced cdict, 4606658
silesia.tar, level 9, old streaming advanced cdict, 4554105
silesia.tar, level 13, old streaming advanced cdict, 4491703
silesia.tar, level 16, old streaming advanced cdict, 4381277
silesia.tar, level 19, old streaming advanced cdict, 4281514
silesia.tar, no source size, old streaming advanced cdict, 4875006
silesia.tar, long distance mode, old streaming advanced cdict, 12022046
silesia.tar, multithreaded, old streaming advanced cdict, 12022046
silesia.tar, multithreaded long distance mode, old streaming advanced cdict, 12022046
silesia.tar, small window log, old streaming advanced cdict, 12022046
silesia.tar, small hash log, old streaming advanced cdict, 12022046
silesia.tar, small chain log, old streaming advanced cdict, 12022046
silesia.tar, explicit params, old streaming advanced cdict, 12022046
silesia.tar, uncompressed literals, old streaming advanced cdict, 4875010
silesia.tar, uncompressed literals optimal, old streaming advanced cdict, 4281514
silesia.tar, huffman literals, old streaming advanced cdict, 6195465
silesia.tar, multithreaded with advanced params, old streaming advanced cdict, 12022046
github, level -5, old streaming advanced cdict, 232744
github, level -5 with dict, old streaming advanced cdict, 46718
github, level -3, old streaming advanced cdict, 220611
github, level -3 with dict, old streaming advanced cdict, 45395
github, level -1, old streaming advanced cdict, 176575
github, level -1 with dict, old streaming advanced cdict, 43170
github, level 0, old streaming advanced cdict, 136397
github, level 0 with dict, old streaming advanced cdict, 41170
github, level 1, old streaming advanced cdict, 143457
github, level 1 with dict, old streaming advanced cdict, 41682
github, level 3, old streaming advanced cdict, 136397
github, level 3 with dict, old streaming advanced cdict, 41170
github, level 4, old streaming advanced cdict, 136144
github, level 4 with dict, old streaming advanced cdict, 41306
github, level 5, old streaming advanced cdict, 135106
github, level 5 with dict, old streaming advanced cdict, 38938
github, level 6, old streaming advanced cdict, 135108
github, level 6 with dict, old streaming advanced cdict, 38632
github, level 7, old streaming advanced cdict, 135108
github, level 7 with dict, old streaming advanced cdict, 38766
github, level 9, old streaming advanced cdict, 135108
github, level 9 with dict, old streaming advanced cdict, 39326
github, level 13, old streaming advanced cdict, 133717
github, level 13 with dict, old streaming advanced cdict, 39716
github, level 16, old streaming advanced cdict, 133717
github, level 16 with dict, old streaming advanced cdict, 37577
github, level 19, old streaming advanced cdict, 133717
github, level 19 with dict, old streaming advanced cdict, 37576
github, no source size, old streaming advanced cdict, 141003
github, long distance mode, old streaming advanced cdict, 412933
github, multithreaded, old streaming advanced cdict, 412933
github, multithreaded long distance mode, old streaming advanced cdict, 412933
github, small window log, old streaming advanced cdict, 412933
github, small hash log, old streaming advanced cdict, 412933
github, small chain log, old streaming advanced cdict, 412933
github, explicit params, old streaming advanced cdict, 412933
github, uncompressed literals, old streaming advanced cdict, 136397
github, uncompressed literals optimal, old streaming advanced cdict, 133717
github, huffman literals, old streaming advanced cdict, 176575
github, multithreaded with advanced params, old streaming advanced cdict, 412933

1 Data Config Method Total compressed size
104 silesia uncompressed literals zstdcli 5155472
105 silesia uncompressed literals optimal zstdcli 4325475
106 silesia huffman literals zstdcli 5341405
107 silesia multithreaded with advanced params zstdcli compression error 5155472
108 silesia.tar level -5 zstdcli 7161160
109 silesia.tar level -3 zstdcli 6789865
110 silesia.tar level -1 zstdcli 6196433
130 silesia.tar uncompressed literals zstdcli 5158134
131 silesia.tar uncompressed literals optimal zstdcli 4321098
132 silesia.tar huffman literals zstdcli 5358479
133 silesia.tar multithreaded with advanced params zstdcli compression error 5158134
134 github level -5 zstdcli 234744
135 github level -5 with dict zstdcli 48718
136 github level -3 zstdcli 222611
169 github uncompressed literals zstdcli 169004
170 github uncompressed literals optimal zstdcli 158824
171 github huffman literals zstdcli 145457
172 github multithreaded with advanced params zstdcli compression error 169004
173 silesia level -5 advanced one pass 7152294
174 silesia level -3 advanced one pass 6789969
175 silesia level -1 advanced one pass 6191548
461 silesia level 16 old streaming 4377391
462 silesia level 19 old streaming 4293262
463 silesia no source size old streaming 4862341
464 silesia long distance mode old streaming 12000408
465 silesia multithreaded old streaming 12000408
466 silesia multithreaded long distance mode old streaming 12000408
467 silesia small window log old streaming 12000408
468 silesia small hash log old streaming 12000408
469 silesia small chain log old streaming 12000408
470 silesia explicit params old streaming 12000408
471 silesia uncompressed literals old streaming 4862377
472 silesia uncompressed literals optimal old streaming 4293262
473 silesia huffman literals old streaming 6191549
474 silesia multithreaded with advanced params old streaming 12000408
475 silesia.tar level -5 old streaming 7160440
476 silesia.tar level -3 old streaming 6789026
477 silesia.tar level -1 old streaming 6195465
487 silesia.tar level 16 old streaming 4381277
488 silesia.tar level 19 old streaming 4281514
489 silesia.tar no source size old streaming 4875006
490 silesia.tar long distance mode old streaming 12022046
491 silesia.tar multithreaded old streaming 12022046
492 silesia.tar multithreaded long distance mode old streaming 12022046
493 silesia.tar small window log old streaming 12022046
494 silesia.tar small hash log old streaming 12022046
495 silesia.tar small chain log old streaming 12022046
496 silesia.tar explicit params old streaming 12022046
497 silesia.tar uncompressed literals old streaming 4875010
498 silesia.tar uncompressed literals optimal old streaming 4281514
499 silesia.tar huffman literals old streaming 6195465
500 silesia.tar multithreaded with advanced params old streaming 12022046
501 github level -5 old streaming 232744
502 github level -5 with dict old streaming 46718
503 github level -3 old streaming 220611
527 github level 19 old streaming 133717
528 github level 19 with dict old streaming 37576
529 github no source size old streaming 141003
530 github long distance mode old streaming 412933
531 github multithreaded old streaming 412933
532 github multithreaded long distance mode old streaming 412933
533 github small window log old streaming 412933
534 github small hash log old streaming 412933
535 github small chain log old streaming 412933
536 github explicit params old streaming 412933
537 github uncompressed literals old streaming 136397
538 github uncompressed literals optimal old streaming 133717
539 github huffman literals old streaming 176575
540 github multithreaded with advanced params old streaming 412933
541 silesia level -5 old streaming advanced 7152294
542 silesia level -3 old streaming advanced 6789973
543 silesia level -1 old streaming advanced 6191549
544 silesia level 0 old streaming advanced 4862377
545 silesia level 1 old streaming advanced 5318036
546 silesia level 3 old streaming advanced 4862377
547 silesia level 4 old streaming advanced 4800629
548 silesia level 5 old streaming advanced 4710178
549 silesia level 6 old streaming advanced 4659996
550 silesia level 7 old streaming advanced 4596234
551 silesia level 9 old streaming advanced 4543862
552 silesia level 13 old streaming advanced 4482073
553 silesia level 16 old streaming advanced 4377391
554 silesia level 19 old streaming advanced 4293262
555 silesia no source size old streaming advanced 4862341
556 silesia long distance mode old streaming advanced 12000408
557 silesia multithreaded old streaming advanced 12000408
558 silesia multithreaded long distance mode old streaming advanced 12000408
559 silesia small window log old streaming advanced 12000408
560 silesia small hash log old streaming advanced 12000408
561 silesia small chain log old streaming advanced 12000408
562 silesia explicit params old streaming advanced 12000408
563 silesia uncompressed literals old streaming advanced 4862377
564 silesia uncompressed literals optimal old streaming advanced 4293262
565 silesia huffman literals old streaming advanced 6191549
566 silesia multithreaded with advanced params old streaming advanced 12000408
567 silesia.tar level -5 old streaming advanced 7160440
568 silesia.tar level -3 old streaming advanced 6789026
569 silesia.tar level -1 old streaming advanced 6195465
570 silesia.tar level 0 old streaming advanced 4875010
571 silesia.tar level 1 old streaming advanced 5339701
572 silesia.tar level 3 old streaming advanced 4875010
573 silesia.tar level 4 old streaming advanced 4813507
574 silesia.tar level 5 old streaming advanced 4722240
575 silesia.tar level 6 old streaming advanced 4672203
576 silesia.tar level 7 old streaming advanced 4606658
577 silesia.tar level 9 old streaming advanced 4554105
578 silesia.tar level 13 old streaming advanced 4491703
579 silesia.tar level 16 old streaming advanced 4381277
580 silesia.tar level 19 old streaming advanced 4281514
581 silesia.tar no source size old streaming advanced 4875006
582 silesia.tar long distance mode old streaming advanced 12022046
583 silesia.tar multithreaded old streaming advanced 12022046
584 silesia.tar multithreaded long distance mode old streaming advanced 12022046
585 silesia.tar small window log old streaming advanced 12022046
586 silesia.tar small hash log old streaming advanced 12022046
587 silesia.tar small chain log old streaming advanced 12022046
588 silesia.tar explicit params old streaming advanced 12022046
589 silesia.tar uncompressed literals old streaming advanced 4875010
590 silesia.tar uncompressed literals optimal old streaming advanced 4281514
591 silesia.tar huffman literals old streaming advanced 6195465
592 silesia.tar multithreaded with advanced params old streaming advanced 12022046
593 github level -5 old streaming advanced 232744
594 github level -5 with dict old streaming advanced 46718
595 github level -3 old streaming advanced 220611
596 github level -3 with dict old streaming advanced 45395
597 github level -1 old streaming advanced 176575
598 github level -1 with dict old streaming advanced 43170
599 github level 0 old streaming advanced 136397
600 github level 0 with dict old streaming advanced 41170
601 github level 1 old streaming advanced 143457
602 github level 1 with dict old streaming advanced 41682
603 github level 3 old streaming advanced 136397
604 github level 3 with dict old streaming advanced 41170
605 github level 4 old streaming advanced 136144
606 github level 4 with dict old streaming advanced 41306
607 github level 5 old streaming advanced 135106
608 github level 5 with dict old streaming advanced 38938
609 github level 6 old streaming advanced 135108
610 github level 6 with dict old streaming advanced 38632
611 github level 7 old streaming advanced 135108
612 github level 7 with dict old streaming advanced 38766
613 github level 9 old streaming advanced 135108
614 github level 9 with dict old streaming advanced 39326
615 github level 13 old streaming advanced 133717
616 github level 13 with dict old streaming advanced 39716
617 github level 16 old streaming advanced 133717
618 github level 16 with dict old streaming advanced 37577
619 github level 19 old streaming advanced 133717
620 github level 19 with dict old streaming advanced 37576
621 github no source size old streaming advanced 141003
622 github long distance mode old streaming advanced 412933
623 github multithreaded old streaming advanced 412933
624 github multithreaded long distance mode old streaming advanced 412933
625 github small window log old streaming advanced 412933
626 github small hash log old streaming advanced 412933
627 github small chain log old streaming advanced 412933
628 github explicit params old streaming advanced 412933
629 github uncompressed literals old streaming advanced 136397
630 github uncompressed literals optimal old streaming advanced 133717
631 github huffman literals old streaming advanced 176575
632 github multithreaded with advanced params old streaming advanced 412933
633 silesia level -5 old streaming cdcit 7152294
634 silesia level -3 old streaming cdcit 6789973
635 silesia level -1 old streaming cdcit 6191549
636 silesia level 0 old streaming cdcit 4862377
637 silesia level 1 old streaming cdcit 5318036
638 silesia level 3 old streaming cdcit 4862377
639 silesia level 4 old streaming cdcit 4800629
640 silesia level 5 old streaming cdcit 4710178
641 silesia level 6 old streaming cdcit 4659996
642 silesia level 7 old streaming cdcit 4596234
643 silesia level 9 old streaming cdcit 4543862
644 silesia level 13 old streaming cdcit 4482073
645 silesia level 16 old streaming cdcit 4377391
646 silesia level 19 old streaming cdcit 4293262
647 silesia no source size old streaming cdcit 4862341
648 silesia long distance mode old streaming cdcit 12000408
649 silesia multithreaded old streaming cdcit 12000408
650 silesia multithreaded long distance mode old streaming cdcit 12000408
651 silesia small window log old streaming cdcit 12000408
652 silesia small hash log old streaming cdcit 12000408
653 silesia small chain log old streaming cdcit 12000408
654 silesia explicit params old streaming cdcit 12000408
655 silesia uncompressed literals old streaming cdcit 4862377
656 silesia uncompressed literals optimal old streaming cdcit 4293262
657 silesia huffman literals old streaming cdcit 6191549
658 silesia multithreaded with advanced params old streaming cdcit 12000408
659 silesia.tar level -5 old streaming cdcit 7160440
660 silesia.tar level -3 old streaming cdcit 6789026
661 silesia.tar level -1 old streaming cdcit 6195465
662 silesia.tar level 0 old streaming cdcit 4875010
663 silesia.tar level 1 old streaming cdcit 5339701
664 silesia.tar level 3 old streaming cdcit 4875010
665 silesia.tar level 4 old streaming cdcit 4813507
666 silesia.tar level 5 old streaming cdcit 4722240
667 silesia.tar level 6 old streaming cdcit 4672203
668 silesia.tar level 7 old streaming cdcit 4606658
669 silesia.tar level 9 old streaming cdcit 4554105
670 silesia.tar level 13 old streaming cdcit 4491703
671 silesia.tar level 16 old streaming cdcit 4381277
672 silesia.tar level 19 old streaming cdcit 4281514
673 silesia.tar no source size old streaming cdcit 4875006
674 silesia.tar long distance mode old streaming cdcit 12022046
675 silesia.tar multithreaded old streaming cdcit 12022046
676 silesia.tar multithreaded long distance mode old streaming cdcit 12022046
677 silesia.tar small window log old streaming cdcit 12022046
678 silesia.tar small hash log old streaming cdcit 12022046
679 silesia.tar small chain log old streaming cdcit 12022046
680 silesia.tar explicit params old streaming cdcit 12022046
681 silesia.tar uncompressed literals old streaming cdcit 4875010
682 silesia.tar uncompressed literals optimal old streaming cdcit 4281514
683 silesia.tar huffman literals old streaming cdcit 6195465
684 silesia.tar multithreaded with advanced params old streaming cdcit 12022046
685 github level -5 old streaming cdcit 232744
686 github level -5 with dict old streaming cdcit 46718
687 github level -3 old streaming cdcit 220611
688 github level -3 with dict old streaming cdcit 45395
689 github level -1 old streaming cdcit 176575
690 github level -1 with dict old streaming cdcit 43170
691 github level 0 old streaming cdcit 136397
692 github level 0 with dict old streaming cdcit 41170
693 github level 1 old streaming cdcit 143457
694 github level 1 with dict old streaming cdcit 41682
695 github level 3 old streaming cdcit 136397
696 github level 3 with dict old streaming cdcit 41170
697 github level 4 old streaming cdcit 136144
698 github level 4 with dict old streaming cdcit 41306
699 github level 5 old streaming cdcit 135106
700 github level 5 with dict old streaming cdcit 38938
701 github level 6 old streaming cdcit 135108
702 github level 6 with dict old streaming cdcit 38632
703 github level 7 old streaming cdcit 135108
704 github level 7 with dict old streaming cdcit 38766
705 github level 9 old streaming cdcit 135108
706 github level 9 with dict old streaming cdcit 39326
707 github level 13 old streaming cdcit 133717
708 github level 13 with dict old streaming cdcit 39716
709 github level 16 old streaming cdcit 133717
710 github level 16 with dict old streaming cdcit 37577
711 github level 19 old streaming cdcit 133717
712 github level 19 with dict old streaming cdcit 37576
713 github no source size old streaming cdcit 141003
714 github long distance mode old streaming cdcit 412933
715 github multithreaded old streaming cdcit 412933
716 github multithreaded long distance mode old streaming cdcit 412933
717 github small window log old streaming cdcit 412933
718 github small hash log old streaming cdcit 412933
719 github small chain log old streaming cdcit 412933
720 github explicit params old streaming cdcit 412933
721 github uncompressed literals old streaming cdcit 136397
722 github uncompressed literals optimal old streaming cdcit 133717
723 github huffman literals old streaming cdcit 176575
724 github multithreaded with advanced params old streaming cdcit 412933
725 silesia level -5 old streaming advanced cdict 7152294
726 silesia level -3 old streaming advanced cdict 6789973
727 silesia level -1 old streaming advanced cdict 6191549
728 silesia level 0 old streaming advanced cdict 4862377
729 silesia level 1 old streaming advanced cdict 5318036
730 silesia level 3 old streaming advanced cdict 4862377
731 silesia level 4 old streaming advanced cdict 4800629
732 silesia level 5 old streaming advanced cdict 4710178
733 silesia level 6 old streaming advanced cdict 4659996
734 silesia level 7 old streaming advanced cdict 4596234
735 silesia level 9 old streaming advanced cdict 4543862
736 silesia level 13 old streaming advanced cdict 4482073
737 silesia level 16 old streaming advanced cdict 4377391
738 silesia level 19 old streaming advanced cdict 4293262
739 silesia no source size old streaming advanced cdict 4862341
740 silesia long distance mode old streaming advanced cdict 12000408
741 silesia multithreaded old streaming advanced cdict 12000408
742 silesia multithreaded long distance mode old streaming advanced cdict 12000408
743 silesia small window log old streaming advanced cdict 12000408
744 silesia small hash log old streaming advanced cdict 12000408
745 silesia small chain log old streaming advanced cdict 12000408
746 silesia explicit params old streaming advanced cdict 12000408
747 silesia uncompressed literals old streaming advanced cdict 4862377
748 silesia uncompressed literals optimal old streaming advanced cdict 4293262
749 silesia huffman literals old streaming advanced cdict 6191549
750 silesia multithreaded with advanced params old streaming advanced cdict 12000408
751 silesia.tar level -5 old streaming advanced cdict 7160440
752 silesia.tar level -3 old streaming advanced cdict 6789026
753 silesia.tar level -1 old streaming advanced cdict 6195465
754 silesia.tar level 0 old streaming advanced cdict 4875010
755 silesia.tar level 1 old streaming advanced cdict 5339701
756 silesia.tar level 3 old streaming advanced cdict 4875010
757 silesia.tar level 4 old streaming advanced cdict 4813507
758 silesia.tar level 5 old streaming advanced cdict 4722240
759 silesia.tar level 6 old streaming advanced cdict 4672203
760 silesia.tar level 7 old streaming advanced cdict 4606658
761 silesia.tar level 9 old streaming advanced cdict 4554105
762 silesia.tar level 13 old streaming advanced cdict 4491703
763 silesia.tar level 16 old streaming advanced cdict 4381277
764 silesia.tar level 19 old streaming advanced cdict 4281514
765 silesia.tar no source size old streaming advanced cdict 4875006
766 silesia.tar long distance mode old streaming advanced cdict 12022046
767 silesia.tar multithreaded old streaming advanced cdict 12022046
768 silesia.tar multithreaded long distance mode old streaming advanced cdict 12022046
769 silesia.tar small window log old streaming advanced cdict 12022046
770 silesia.tar small hash log old streaming advanced cdict 12022046
771 silesia.tar small chain log old streaming advanced cdict 12022046
772 silesia.tar explicit params old streaming advanced cdict 12022046
773 silesia.tar uncompressed literals old streaming advanced cdict 4875010
774 silesia.tar uncompressed literals optimal old streaming advanced cdict 4281514
775 silesia.tar huffman literals old streaming advanced cdict 6195465
776 silesia.tar multithreaded with advanced params old streaming advanced cdict 12022046
777 github level -5 old streaming advanced cdict 232744
778 github level -5 with dict old streaming advanced cdict 46718
779 github level -3 old streaming advanced cdict 220611
780 github level -3 with dict old streaming advanced cdict 45395
781 github level -1 old streaming advanced cdict 176575
782 github level -1 with dict old streaming advanced cdict 43170
783 github level 0 old streaming advanced cdict 136397
784 github level 0 with dict old streaming advanced cdict 41170
785 github level 1 old streaming advanced cdict 143457
786 github level 1 with dict old streaming advanced cdict 41682
787 github level 3 old streaming advanced cdict 136397
788 github level 3 with dict old streaming advanced cdict 41170
789 github level 4 old streaming advanced cdict 136144
790 github level 4 with dict old streaming advanced cdict 41306
791 github level 5 old streaming advanced cdict 135106
792 github level 5 with dict old streaming advanced cdict 38938
793 github level 6 old streaming advanced cdict 135108
794 github level 6 with dict old streaming advanced cdict 38632
795 github level 7 old streaming advanced cdict 135108
796 github level 7 with dict old streaming advanced cdict 38766
797 github level 9 old streaming advanced cdict 135108
798 github level 9 with dict old streaming advanced cdict 39326
799 github level 13 old streaming advanced cdict 133717
800 github level 13 with dict old streaming advanced cdict 39716
801 github level 16 old streaming advanced cdict 133717
802 github level 16 with dict old streaming advanced cdict 37577
803 github level 19 old streaming advanced cdict 133717
804 github level 19 with dict old streaming advanced cdict 37576
805 github no source size old streaming advanced cdict 141003
806 github long distance mode old streaming advanced cdict 412933
807 github multithreaded old streaming advanced cdict 412933
808 github multithreaded long distance mode old streaming advanced cdict 412933
809 github small window log old streaming advanced cdict 412933
810 github small hash log old streaming advanced cdict 412933
811 github small chain log old streaming advanced cdict 412933
812 github explicit params old streaming advanced cdict 412933
813 github uncompressed literals old streaming advanced cdict 136397
814 github uncompressed literals optimal old streaming advanced cdict 133717
815 github huffman literals old streaming advanced cdict 176575
816 github multithreaded with advanced params old streaming advanced cdict 412933