Difference between revisions of "Review/std.experimental.allocator"

From D Wiki
Jump to: navigation, search
m (Current state)
 
(One intermediate revision by the same user not shown)
Line 2: Line 2:
  
 
[http://erdani.com/d/phobos-prerelease/std_experimental_allocator.html std.experimental.allocator] is a package by Andrei Alexandrescu that standard API for allocators as well as implementation for some of common ones.
 
[http://erdani.com/d/phobos-prerelease/std_experimental_allocator.html std.experimental.allocator] is a package by Andrei Alexandrescu that standard API for allocators as well as implementation for some of common ones.
 +
 +
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".
  
 
=== Related links ===
 
=== Related links ===
Line 7: Line 20:
 
# [http://erdani.com/d/phobos-prerelease/std_experimental_allocator.html Documentation]
 
# [http://erdani.com/d/phobos-prerelease/std_experimental_allocator.html Documentation]
 
# [https://github.com/andralex/phobos/tree/allocator/std/experimental/allocator Code]
 
# [https://github.com/andralex/phobos/tree/allocator/std/experimental/allocator Code]
 +
 +
== Voting stats ==
 +
 +
Voting thread: http://forum.dlang.org/post/zbzjtssagejcxpxittij@forum.dlang.org
 +
Yes/No votes: 25/0
  
 
== Current state ==
 
== Current state ==
  
Formal review is about to start soon
+
Accepted into std.experimental

Latest revision as of 14:31, 25 July 2015

Description

std.experimental.allocator is a package by Andrei Alexandrescu that standard API for allocators as well as implementation for some of common ones.

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".

Related links

  1. Documentation
  2. Code

Voting stats

Voting thread: http://forum.dlang.org/post/zbzjtssagejcxpxittij@forum.dlang.org Yes/No votes: 25/0

Current state

Accepted into std.experimental