Stroika Library 3.0d16
 
Loading...
Searching...
No Matches
BlockAllocator.h File Reference
#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
 

Detailed Description

Note
Code-Status: Beta

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.