www.digitalmars.com         C & C++   DMDScript  

digitalmars.D - std.allocator is ready for the review

reply Andrei Alexandrescu <SeeWebsiteForEmail erdani.org> writes:
Well, we're finally there. std.experimental.allocator is ready for review.

There are over 11KLOC (including unittests and ddoc source) to deal 
with, so I wanted to give the community a head start in looking over it 
prior to the official review period.

What std.experimental.allocator is:

* A hookable interface for allocating and releasing memory.

* A systematic and hierarchical approach to global allocation, spanning 
the stack, thread-local storage, and process-level memory.

* A collection of quality implementations of typical memory allocation 
strategies, including free lists, regions, bitmapped blocks, bucketized 
size-specialized allocators, and more.

* A framework for easy assembly and experimentation with custom 
allocation strategies.

* An integration of types within the allocation strategy, allowing 
concrete allocators to exploit various characteristics of the types they 
are allocating.

What std.experimental.allocator is not:

* An abstraction of lifetime management, e.g. transparently choosing 
between tracing vs. reference counting.

* An abstraction of notions such as "address", "pointer", and "reference".


Andrei
Jun 11 2015
parent reply Andrei Alexandrescu <SeeWebsiteForEmail erdani.org> writes:
Ehm, forgot to give the appropriate links.

Docs entry point: 
http://erdani.com/d/phobos-prerelease/std_experimental_allocator.html, 
see also all modules listed from the left under std.experimental.allocator.

Code: https://github.com/andralex/phobos/tree/allocator


Andrei
Jun 11 2015
parent Jacob Carlborg <doob me.com> writes:
On 2015-06-12 00:18, Andrei Alexandrescu wrote:

 Code: https://github.com/andralex/phobos/tree/allocator
* Your ODBC code seems to be in the same branch * You have commented out some code in std.math and std.traits * What is std.typed_allocator? It doesn't seem to have anything related to allocators, some leftover code? -- /Jacob Carlborg
Jun 12 2015