diff options
author | pechatnov <pechatnov@yandex-team.com> | 2024-07-18 10:16:06 +0300 |
---|---|---|
committer | pechatnov <pechatnov@yandex-team.com> | 2024-07-18 10:27:16 +0300 |
commit | 77b841e1db791aa4eff51e01613f6d91b0580e4a (patch) | |
tree | a5e9bda6ad59b1fdf958055268cdbe05ef30fe3b /library/cpp/codecs/zstd_dict_codec.cpp | |
parent | d560d4234d950e5ce181f4494a9658546950e48e (diff) | |
download | ydb-77b841e1db791aa4eff51e01613f6d91b0580e4a.tar.gz |
BIGRT: Optimize memory consumption [nodiff:caesar]
05d2fa4e71c76d7270e78ca7b1ae20a1114f07fa
Diffstat (limited to 'library/cpp/codecs/zstd_dict_codec.cpp')
-rw-r--r-- | library/cpp/codecs/zstd_dict_codec.cpp | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/library/cpp/codecs/zstd_dict_codec.cpp b/library/cpp/codecs/zstd_dict_codec.cpp index c42a2879e6..ab2a7b4e1a 100644 --- a/library/cpp/codecs/zstd_dict_codec.cpp +++ b/library/cpp/codecs/zstd_dict_codec.cpp @@ -131,11 +131,13 @@ namespace NCodecs { rawSz -= szSz; if (!datSz) { + outbuf.ReserveExactNeverCallMeInSaneCode(rawSz); outbuf.Resize(rawSz); memcpy(outbuf.data(), rawBeg, rawSz); } else { // size_t zSz = ZSTD_getDecompressedSize(rawBeg, rawSz); // Y_ENSURE_EX(datSz == zSz, TCodecException() << datSz << " != " << zSz); + outbuf.ReserveExactNeverCallMeInSaneCode(datSz); outbuf.Resize(datSz); TDCtx ctx{CheckPtr(ZSTD_createDCtx(), __LOCATION__)}; CheckSize(ZSTD_decompress_usingDDict( |