Is this a good pattern for allocation?

JS js.mdnq at gmail.com
Mon Aug 5 07:58:25 PDT 2013


On Monday, 5 August 2013 at 12:41:19 UTC, Tobias Pankrath wrote:
> On Monday, 5 August 2013 at 08:11:59 UTC, JS wrote:
>
>> I guess you mean that I should use a template as a factory 
>> instead of an interface? I'll have to think about it to see 
>> what the pro's and con's of each are. The interface pattern 
>> should include the template pattern though. (after all, the 
>> interface is parameterized...)
>
> If you want to swap your allocators at runtime than an 
> interface is a good solution. They are here for runtime 
> dispatch after all. However all your allocators are forced to 
> be classes.
>
> Coincidentally an article has been written about exactly this 
> maybe a week ago.
> See 
> http://blog.thecybershadow.net/2013/07/28/low-overhead-components/ 
> .

What I would like is some way to choose an approximate optimal 
allocator that can be modified at run-time if necessary.

e.g., small objects can use a slab allocator. Large objects can 
use a buddy allocator. I can change the allocator type at 
application startup to something else entirely if necessary for 
various reasons(performance checking, memory leakage, etc...).

What I would like is for classes to be able to request a certain 
allocator(this way, the class writer can attempt to choose the 
best. Later on, I can profile different allocators rather easily 
by just changing the factory and force the classes to use the 
best one found.

There seems to be a lot on the specifics that I'll have to read 
up on but I mainly want to avoid programming myself into a corner.


More information about the Digitalmars-d-learn mailing list