aboutsummaryrefslogtreecommitdiff
path: root/zencore/compactbinarybuilder.cpp
diff options
context:
space:
mode:
authorDan Engelbrecht <[email protected]>2022-04-28 22:17:20 +0200
committerGitHub <[email protected]>2022-04-28 22:17:20 +0200
commit8b7d5557dfacd0527d30bccaf4b9dbeb060be674 (patch)
treee8e733d73f4f251a8bf3daa043e8e299ed44ed00 /zencore/compactbinarybuilder.cpp
parentMerge pull request #81 from EpicGames/de/use-bulk-fetch-from-upstream-on-getc... (diff)
parentReduce risk of reallocating backing std::vector in CbWriter::AddBinary (diff)
downloadzen-8b7d5557dfacd0527d30bccaf4b9dbeb060be674.tar.xz
zen-8b7d5557dfacd0527d30bccaf4b9dbeb060be674.zip
Merge pull request #83 from EpicGames/de/minor-optimizationsv1.0.0.7
Minor optimizations to reduce overhead during high load
Diffstat (limited to 'zencore/compactbinarybuilder.cpp')
-rw-r--r--zencore/compactbinarybuilder.cpp5
1 files changed, 3 insertions, 2 deletions
diff --git a/zencore/compactbinarybuilder.cpp b/zencore/compactbinarybuilder.cpp
index 5111504e1..1d2ba45df 100644
--- a/zencore/compactbinarybuilder.cpp
+++ b/zencore/compactbinarybuilder.cpp
@@ -436,9 +436,10 @@ CbWriter::AddNull()
void
CbWriter::AddBinary(const void* const Value, const uint64_t Size)
{
+ const size_t SizeByteCount = MeasureVarUInt(Size);
+ Data.reserve(Data.size() + 1 + SizeByteCount + Size);
BeginField();
- const uint32_t SizeByteCount = MeasureVarUInt(Size);
- const int64_t SizeOffset = Data.size();
+ const size_t SizeOffset = Data.size();
Data.resize(Data.size() + SizeByteCount);
WriteVarUInt(Size, Data.data() + SizeOffset);
Data.insert(Data.end(), static_cast<const uint8_t*>(Value), static_cast<const uint8_t*>(Value) + Size);