Applied Mattijs' PackedList improvements

- resize with factor 2 as per DynamicList

Old insertion speed:
    1000000 in 0.61 s
    2000000 in 2.24 s
    3000000 in 3.97 s
    4000000 in 5.76 s
    5000000 in 7.54 s
    6000000 in 9.41 s
    7000000 in 11.5 s

New insertion speed:
    1000000 in 0.01 s
    2000000 in 0.02 s
    3000000 in 0.01 s
    4000000 in 0.02 s
    5000000 in 0.01 s
    6000000 in 0.01 s
    7000000 in 0.01 s
This commit is contained in:
Mark Olesen
2009-12-08 09:42:38 +01:00
parent 8227aee6a2
commit 16c715ceec
4 changed files with 88 additions and 1 deletions

View File

@ -670,7 +670,16 @@ inline void Foam::PackedList<nBits>::reserve
// need more capacity?
if (len > StorageList::size())
{
StorageList::setSize(len, 0u);
// Like DynamicList with SizeInc=0, SizeMult=2, SizeDiv=1
StorageList::setSize
(
max
(
len,
StorageList::size()*2
),
0u
);
}
}