aboutsummaryrefslogtreecommitdiffstats
path: root/library/cpp/codecs/zstd_dict_codec.cpp
diff options
context:
space:
mode:
authorpechatnov <pechatnov@yandex-team.com>2024-07-18 10:16:06 +0300
committerpechatnov <pechatnov@yandex-team.com>2024-07-18 10:27:16 +0300
commit77b841e1db791aa4eff51e01613f6d91b0580e4a (patch)
treea5e9bda6ad59b1fdf958055268cdbe05ef30fe3b /library/cpp/codecs/zstd_dict_codec.cpp
parentd560d4234d950e5ce181f4494a9658546950e48e (diff)
downloadydb-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.cpp2
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(