QArrayData: Don't allocate space we cannot use
When reallocating we assume we will grow more and increase the size to the next power of 2. However, this might be a size where we end up with space we cannot take advantage of. Such as having 4 bytes free at the tail when we have 8 byte objects. The larger the objects are the greater the chance is that we will end up in this situation, and it would have a greater chance to leave big allocated chunks unused. Change-Id: Ifea3d92763c1bafd489b66605c741447e5a57d5a Reviewed-by: Edward Welbourne <edward.welbourne@qt.io> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
This commit is contained in:
parent
64ed4081ca
commit
e75c691d07
@ -143,7 +143,7 @@ qCalculateGrowingBlockSize(size_t elementCount, size_t elementSize, size_t heade
|
||||
}
|
||||
|
||||
result.elementCount = (bytes - unsigned(headerSize)) / unsigned(elementSize);
|
||||
result.size = bytes;
|
||||
result.size = result.elementCount * elementSize + headerSize;
|
||||
return result;
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user