Git Product home page Git Product logo

allocators-rs's Introduction

Allocators in Rust

Build Status Build status

Looking for elfmalloc in particular? It's here.

This repository encompasses a number of different crates. Some are general memory allocators, some are object allocators (allocators which allocate a specific type of object), and some are utility crates providing various features needed to implement these allocators.

The info directory contains more detailed information, including performance measurements. Aside from info, all top-level directories are Rust crates. More detailed information on each crate can be found in the crate's README.md.

Allocator crates

Crate Description
elfmalloc A general-purpose multi-threaded allocator providing both Rust Alloc and C malloc APIs
slab-alloc An object-specific slab allocator in the same tradition as the original slab allocator by Jeff Bonwick
bsalloc A simple general-purpose "bootstrapping" allocator used in the implementation of other allocators
mmap-alloc An Alloc API which is a thin wrapper around mmap (on Unix) or VirtualAlloc (on Windows)

Utility crates

Crate Description
alloc-fmt Allocation-safe formatting and debugging macros
alloc-tls Allocation-safe thread-local storage
bagpipe Fast, concurrent data structures including queues and a weakly-ordered bag data structure (design)
malloc-bind Bindings to allow a Rust Alloc to implement the C malloc API
object-alloc Traits representing type-specific variants of the Alloc trait
object-alloc-test A correctness test suite for object allocator implementations (uses the traits defined in object-alloc)

Contributing

Interested in contributing? We'd love to have you! Check out CONTRIBUTING.md.

Copyright and license

Copyrights in this project are retained by their contributors. No copyright assignment is required to contribute to this project. For a list of authors, see this repository's version control history.

This project is dual-licensed under the Apache 2.0 license or the MIT license at your option. Copies of these licenses can be found in the LICENSE-APACHE and LICENSE-MIT files respectively.

allocators-rs's People

Contributors

abhijeetbhagat avatar adrian5 avatar dr-emann avatar ezrosent avatar gabrielmajeri avatar jaromircharles avatar joshlf avatar ryan-gribben avatar whentze avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.