diff --git a/README.md b/README.md index aeb2ded..3b4e1cb 100644 --- a/README.md +++ b/README.md @@ -17,13 +17,14 @@ Rust's BTree implementation uses a branching factor of 11. This means even if the allocator were in a state where it had ~100,000 separate free-regions, a worst-case lookup will traverse only 5 tree nodes. + ### `#![no_std]` -This crate is `no_std`, but requires `alloc` for the BTree implementation. +This crate is `no_std`, but requires the `alloc` crate for the BTree +implementation. -Future Work ------------ +### Future Work Currently, the BTree implementation at the heart of `orderly-allocator` asks the global-allocator for memory for newly-created nodes every now and then. It @@ -32,16 +33,32 @@ a different BTree implementation which pulled new nodes from a predetermined & bounded set. +### Other Libraries + +Other libraries in the ecosystem that might serve a similar purpose: + +- [offset-allocator], A Rust port of Sebastian Aaltonen's + [C++ package][sebbbi/OffsetAllocator] of the same name. +- [lru-slab], A datastructure for managing elements with a uniform size in + constant time. + +[offset-allocator]: https://github.com/pcwalton/offset-allocator +[sebbbi/OffsetAllocator]: https://github.com/sebbbi/OffsetAllocator +[lru-slab]: https://github.com/Ralith/lru-slab + + License ------- -This crate is licensed under any of the -[Apache license, Version 2.0](./LICENSE-APACHE), -or the -[MIT license](./LICENSE-MIT), -or the -[Zlib license](./LICENSE-ZLIB) -at your option. +This crate is licensed under any of the [Apache license 2.0], or the +[MIT license], or the [Zlib license] at your option. + +[Apache license 2.0]: ./LICENSE-APACHE +[MIT license]: ./LICENSE-MIT +[Zlib license]: ./LICENSE-ZLIB + +### Contribution Unless explicitly stated otherwise, any contributions you intentionally submit -for inclusion in this work shall be licensed accordingly. +for inclusion in this work shall be licensed as above, without any additional +terms or conditions.