mirror of
https://github.com/TrinityCore/TrinityCore.git
synced 2026-01-21 17:54:48 +01:00
Few small optimizations here and there
This commit is contained in:
@@ -576,10 +576,23 @@ class TC_SHARED_API ByteBuffer
|
||||
|
||||
FlushBits();
|
||||
|
||||
if (_storage.size() < _wpos + cnt)
|
||||
_storage.resize(_wpos + cnt);
|
||||
size_t const newSize = _wpos + cnt;
|
||||
if (_storage.capacity() < newSize) // custom memory allocation rules
|
||||
{
|
||||
if (newSize < 100)
|
||||
_storage.reserve(300);
|
||||
else if (newSize < 750)
|
||||
_storage.reserve(2500);
|
||||
else if (newSize < 6000)
|
||||
_storage.reserve(10000);
|
||||
else
|
||||
_storage.reserve(400000);
|
||||
}
|
||||
|
||||
if (_storage.size() < newSize)
|
||||
_storage.resize(newSize);
|
||||
std::memcpy(&_storage[_wpos], src, cnt);
|
||||
_wpos += cnt;
|
||||
_wpos = newSize;
|
||||
}
|
||||
|
||||
void append(const ByteBuffer& buffer)
|
||||
|
||||
Reference in New Issue
Block a user