#include "Stroika/Foundation/StroikaPreComp.h"
#include <cstddef>
#include "Stroika/Foundation/Common/Common.h"
#include "Stroika/Foundation/Debug/Assertions.h"
#include "BlockAllocator.inl"
Go to the source code of this file.
Classes | |
class | Stroika::Foundation::Memory::BlockAllocator< T > |
Namespaces | |
namespace | Stroika::Foundation |
Make sure when we experiment with that - we include it here as one of our first optimization points!
There is now a C++ semi-standard for this, and working implementations (I haven't tried). But my current lockfree approach maybe better.
o BlockAllocationPool_<SIZE>::Compact () algorithm uses vector, which could fail if we are so fragmented we cannot allocate the large contiguous block needed for the vector<>. Catch-22. Maybe find a less costly strategy?
o I make have broken something in Compact() routine when I transcribed it from Sterl's code. never tested (by me).
Definition in file BlockAllocator.h.