Merge pull request #2684 from senhuang42/old_api_ldm_blocksplit

Add ldm and block splitter auto-enable to old api
This commit is contained in:
sen 2021-06-03 10:10:27 +03:00 committed by GitHub
commit 0a96d00064
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 20 additions and 9 deletions

View File

@ -349,6 +349,17 @@ static void ZSTD_CCtxParams_init_internal(ZSTD_CCtx_params* cctxParams, ZSTD_par
cctxParams->compressionLevel = compressionLevel;
cctxParams->useRowMatchFinder = ZSTD_resolveRowMatchFinderMode(cctxParams->useRowMatchFinder, &params->cParams);
DEBUGLOG(4, "ZSTD_CCtxParams_init_internal: useRowMatchFinder=%d", cctxParams->useRowMatchFinder);
if (ZSTD_CParams_shouldEnableLdm(&params->cParams)) {
/* Enable LDM by default for optimal parser and window size >= 128MB */
DEBUGLOG(4, "LDM enabled by default (window size >= 128MB, strategy >= btopt)");
cctxParams->ldmParams.enableLdm = 1;
}
if (ZSTD_CParams_useBlockSplitter(&params->cParams)) {
DEBUGLOG(4, "Block splitter enabled by default (window size >= 128K, strategy >= btopt)");
cctxParams->splitBlocks = 1;
}
}
size_t ZSTD_CCtxParams_init_advanced(ZSTD_CCtx_params* cctxParams, ZSTD_parameters params)

View File

@ -15,7 +15,7 @@ CURL_LDFLAGS := $(shell curl-config --libs) -pthread
PROGDIR := ../../programs
LIBDIR := ../../lib
ZSTD_CPPFLAGS := -I$(PROGDIR) -I$(LIBDIR) -I$(LIBDIR)/common
ZSTD_CPPFLAGS := -I$(PROGDIR) -I$(LIBDIR) -I$(LIBDIR)/common -Wno-deprecated-declarations
REGRESSION_CFLAGS = $(CFLAGS) $(CURL_CFLAGS)
REGRESSION_CPPFLAGS = $(CPPFLAGS) $(ZSTD_CPPFLAGS)

View File

@ -11,10 +11,10 @@ silesia.tar, level 6, compress
silesia.tar, level 7, compress simple, 4613541
silesia.tar, level 9, compress simple, 4555426
silesia.tar, level 13, compress simple, 4491764
silesia.tar, level 16, compress simple, 4381350
silesia.tar, level 19, compress simple, 4281562
silesia.tar, level 16, compress simple, 4356834
silesia.tar, level 19, compress simple, 4264392
silesia.tar, uncompressed literals, compress simple, 4861425
silesia.tar, uncompressed literals optimal, compress simple, 4281562
silesia.tar, uncompressed literals optimal, compress simple, 4264392
silesia.tar, huffman literals, compress simple, 6186042
github.tar, level -5, compress simple, 46856
github.tar, level -3, compress simple, 43754
@ -45,17 +45,17 @@ silesia, level 6, compress
silesia, level 7, compress cctx, 4603381
silesia, level 9, compress cctx, 4546001
silesia, level 13, compress cctx, 4482135
silesia, level 16, compress cctx, 4377465
silesia, level 19, compress cctx, 4293330
silesia, level 16, compress cctx, 4360251
silesia, level 19, compress cctx, 4283237
silesia, long distance mode, compress cctx, 4849552
silesia, multithreaded, compress cctx, 4849552
silesia, multithreaded long distance mode, compress cctx, 4849552
silesia, small window log, compress cctx, 7084179
silesia, small hash log, compress cctx, 6555021
silesia, small chain log, compress cctx, 4931148
silesia, small hash log, compress cctx, 6526141
silesia, small chain log, compress cctx, 4912197
silesia, explicit params, compress cctx, 4794479
silesia, uncompressed literals, compress cctx, 4849552
silesia, uncompressed literals optimal, compress cctx, 4293330
silesia, uncompressed literals optimal, compress cctx, 4283237
silesia, huffman literals, compress cctx, 6178460
silesia, multithreaded with advanced params, compress cctx, 4849552
github, level -5, compress cctx, 205285

1 Data Config Method Total compressed size
11 silesia.tar level 7 compress simple 4613541
12 silesia.tar level 9 compress simple 4555426
13 silesia.tar level 13 compress simple 4491764
14 silesia.tar level 16 compress simple 4381350 4356834
15 silesia.tar level 19 compress simple 4281562 4264392
16 silesia.tar uncompressed literals compress simple 4861425
17 silesia.tar uncompressed literals optimal compress simple 4281562 4264392
18 silesia.tar huffman literals compress simple 6186042
19 github.tar level -5 compress simple 46856
20 github.tar level -3 compress simple 43754
45 silesia level 7 compress cctx 4603381
46 silesia level 9 compress cctx 4546001
47 silesia level 13 compress cctx 4482135
48 silesia level 16 compress cctx 4377465 4360251
49 silesia level 19 compress cctx 4293330 4283237
50 silesia long distance mode compress cctx 4849552
51 silesia multithreaded compress cctx 4849552
52 silesia multithreaded long distance mode compress cctx 4849552
53 silesia small window log compress cctx 7084179
54 silesia small hash log compress cctx 6555021 6526141
55 silesia small chain log compress cctx 4931148 4912197
56 silesia explicit params compress cctx 4794479
57 silesia uncompressed literals compress cctx 4849552
58 silesia uncompressed literals optimal compress cctx 4293330 4283237
59 silesia huffman literals compress cctx 6178460
60 silesia multithreaded with advanced params compress cctx 4849552
61 github level -5 compress cctx 205285