Difference between revisions of "Review/std.experimental.allocator"
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 == | ||
− | + | 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
Voting stats
Voting thread: http://forum.dlang.org/post/zbzjtssagejcxpxittij@forum.dlang.org Yes/No votes: 25/0
Current state
Accepted into std.experimental