如何使用ZSTD_CCtx_setParameter设置ZSTD_c_enableLongDistanceMatching参数
ZSTD_c_enableLongDistanceMatching 参数配置说明
ZSTD_c_enableLongDistanceMatching 是布尔型控制参数,传入数值1即可启用长距离匹配功能,传入0则禁用。
结合你现有的代码,添加该参数的配置逻辑如下:
cctx = ZSTD_createCCtx(); // 设置压缩等级 size_t status_level = ZSTD_CCtx_setParameter(cctx, ZSTD_c_compressionLevel, 22); if (ZSTD_isError(status_level)) { std::cout << ZSTD_getErrorName(status_level) << std::endl; return 1; } // 启用长距离匹配功能 size_t status_ldm = ZSTD_CCtx_setParameter(cctx, ZSTD_c_enableLongDistanceMatching, 1); if (ZSTD_isError(status_ldm)) { std::cout << ZSTD_getErrorName(status_ldm) << std::endl; return 1; }
补充说明:长距离匹配功能主要用于发现并复用远距离的重复数据块,配合高压缩等级使用时能进一步提升压缩率,但会增加一定的内存占用和压缩时间。如果需要关闭该功能,将参数值改为0即可。
内容的提问来源于stack exchange,提问作者Serg_
相关产品推荐
相关产品推荐

