~ren/polymorph-allocator

f0b7562f08f2392c7b452d0470f1fef7d69f946c — Lauren Jenkinson 8 months ago 04961a3 main
release: v1.2.0
2 files changed, 15 insertions(+), 8 deletions(-)

M Cargo.toml
M README.md
M Cargo.toml => Cargo.toml +4 -4
@@ 1,13 1,13 @@
[package]
name = "polymorph-allocator"
version = "1.1.0"
version = "1.2.0"
authors = ["polymorphOS contributors"]
edition = "2018"

readme = "README.md"
description = "A simple no_std memory allocator"
homepage = "https://gitlab.com/alxce/polymorph-allocator"
repository = "https://gitlab.com/alxce/polymorph-allocator"
description = "A simple memory allocator"
homepage = "https://sr.ht/~ren/polymorphos"
repository = "https://git.sr.ht/~ren/polymorph-allocator"
license = "MIT"

[dependencies]

M README.md => README.md +11 -4
@@ 1,14 1,21 @@
# polymorph-allocator

A simple no\_std memory allocator.
A simple Rust memory allocator, designed for [polymorphOS][].

This crate takes heavy inspiration from [awooOS/dmm][], a simple C memory
allocator for bare-metal uses.

This crate is **very early in development**, and as such may be unstable or
randomly `panic!()`. As of v0.1.0 it works well enough for polymorphOS to boot
using this crate as it's allocator, though, so YMMV.
In it's current state, `polymorph-allocator` is usable, however it is likely to
be slow for lots of small allocations. This is an artifact of it's design -
every allocation requires iterating through the entire list of allocated chunks
until a free chunk is found.

The next major release of `polymorph-allocator` is planned to completely change
how the allocation works, which will improve it's speed, but also it's
complexity. The current version of `polymorph-allocator` is rather simple to
understand, and so it could be good as a learning tool. Who knows.

[polymorphOS]: https://sr.ht/~ren/polymorphos
[awooOS/dmm]: https://github.com/awooos/dmm

## Usage