diff options
author | ivanmorozov333 <ivanmorozov@ydb.tech> | 2025-04-15 10:44:23 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2025-04-15 10:44:23 +0300 |
commit | d5ee2b61f8517b2d5ff507287683199ed48a09f4 (patch) | |
tree | 9629356ba074b0a2e0133beee49f476cd2f108c6 | |
parent | e7171b21ba170f38805ec3adc54323a104dac568 (diff) | |
download | ydb-d5ee2b61f8517b2d5ff507287683199ed48a09f4.tar.gz |
speedup lower case construction (#17196)
Co-authored-by: ivanmorozov333 <imorozov333@ya.ru>
-rw-r--r-- | ydb/core/tx/columnshard/engines/storage/indexes/bloom_ngramm/meta.cpp | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/ydb/core/tx/columnshard/engines/storage/indexes/bloom_ngramm/meta.cpp b/ydb/core/tx/columnshard/engines/storage/indexes/bloom_ngramm/meta.cpp index f0d5443b89d..e13c1086c54 100644 --- a/ydb/core/tx/columnshard/engines/storage/indexes/bloom_ngramm/meta.cpp +++ b/ydb/core/tx/columnshard/engines/storage/indexes/bloom_ngramm/meta.cpp @@ -10,6 +10,7 @@ #include <contrib/libs/apache/arrow/cpp/src/arrow/array/builder_primitive.h> #include <library/cpp/deprecated/atomic/atomic.h> #include <util/generic/bitmap.h> +#include <util/string/ascii.h> namespace NKikimr::NOlap::NIndexes::NBloomNGramm { @@ -150,9 +151,9 @@ public: (const ui8*)data, dataSize, HashesCount, nGrammSize, op, pred); } else { LowerStringBuffer.Clear(); - LowerStringBuffer.Reserve(dataSize); + LowerStringBuffer.Resize(dataSize); for (ui32 i = 0; i < dataSize; ++i) { - LowerStringBuffer.Append(std::tolower(data[i])); + LowerStringBuffer.Data()[i] = AsciiToLower(data[i]); } THashesSelector<TConstants::MaxHashesCount, TConstants::MaxNGrammSize>::BuildHashes( (const ui8*)LowerStringBuffer.Data(), dataSize, HashesCount, nGrammSize, op, pred); @@ -184,8 +185,7 @@ public: } template <class TFiller> - void FillNGrammHashes( - const ui32 nGrammSize, const NRequest::TLikePart::EOperation op, const TString& userReq, TFiller& fillData) { + void FillNGrammHashes(const ui32 nGrammSize, const NRequest::TLikePart::EOperation op, const TString& userReq, TFiller& fillData) { if (CaseSensitive) { BuildNGramms(userReq.data(), userReq.size(), op, nGrammSize, fillData); } else { |