BList: Allocate lazily.

Rather than allocating a block in the constructor, just wait to
do it until we actually need to add items to the list. This saves
over 200,000 allocations when running "pkgman search" alone.

Change-Id: Ia6a21b963efded2bb4973edc2ba22ff026e01737
Reviewed-on: https://review.haiku-os.org/c/haiku/+/8630
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: waddlesplash <[email protected]>
This commit is contained in:
Augustin Cavalier
2025-02-12 20:46:50 +00:00
committed by waddlesplash
parent 31343db0d3
commit dfdffe1ac6
+3 -1
View File
@@ -39,7 +39,6 @@ BList::BList(int32 blockSize)
{
if (fBlockSize <= 0)
fBlockSize = 1;
_ResizeArray(fItemCount);
}
@@ -474,6 +473,9 @@ void BList::_ReservedList2() {}
bool
BList::_ResizeArray(int32 count)
{
if (fPhysicalSize == count)
return true;
// calculate the new physical size
// by doubling the existing size
// until we can hold at least count items