-
bumpalo
A fast bump allocation arena for Rust
-
arc-swap
Atomically swappable Arc
-
memmap2
Cross-platform Rust API for memory-mapped file IO
-
tikv-jemallocator
allocator backed by jemalloc
-
sharded-slab
A lock-free concurrent slab
-
jemallocator
allocator backed by jemalloc
-
arcstr
A better reference-counted string type, with zero-cost (allocation-free) support for string literals, and reference counted substrings
-
mimalloc
Performance and security oriented drop-in allocator
-
heapless
static
friendly data structures that don’t require dynamic memory allocation -
yoke
Abstraction allowing borrowed data to be carried along with the backing data it borrows from
-
slab
Pre-allocated storage for a uniform data type
-
typed-arena
The arena, a fast but limited type of allocator
-
region
Cross-platform virtual memory API
-
base62
encoding/decoding library
-
allocator-api2
Mirror of Rust's allocator API
-
uninit
A collection of tools for a safer usage of uninitialized memory
-
talc
A fast and flexible allocator for no_std and WebAssembly
-
snmalloc-rs
rust bindings of snmalloc
-
alloc-no-stdlib
dynamic allocator that may be used with or without the stdlib. This allows a package with nostd to allocate memory dynamically and be used either with a custom allocator, items on the stack…
-
la-arena
index-based arena without deletion
-
static_cell
Statically allocated, initialized at runtime cell
-
tendril
Compact buffer/string type for zero-copy parsing
-
rustc-std-workspace-alloc
integration of crates.io crates into rust-lang/rust standard library workspace
-
mem_dbg
Traits and associated procedural macros to display recursively the layout and memory usage of a value
-
stats_alloc
An allocator wrapper that allows for instrumenting global allocators
-
object-pool
A thread-safe object pool with automatic return and attach/detach semantics
-
linked_list_allocator
allocator usable for no_std systems. It builds a linked list from the freed blocks and thus needs no additional data structures.
-
gbm
libgbm bindings for rust
-
hipstr
string for Rust: zero-cost borrow and slicing, inline representation for small strings, (atomic) reference counting
-
gc-arena
safe, incrementally garbage collected arenas
-
dyn-stack
Dynamic stack wrapper for unsized allocations
-
memflow
core components of the memflow physical memory introspection framework
-
stable_deref_trait
An unsafe marker trait for types like Box and Rc that dereference to a stable address even when moved, and hence can be used with libraries such as owning_ref and rental
-
rctree
A 'DOM-like' tree implemented using reference counting
-
vm-memory
Safe abstractions for accessing the VM physical memory
-
ghost-cell
Compile-time zero-cost borrow-checking of aliased references
-
bufsize
bytes::BufMut implementation to count buffer size
-
hwlocality
Idiomatic Rust bindings for the hwloc hardware locality library
-
bump-scope
A fast bump allocator that supports allocation scopes / checkpoints. Aka an arena for values of arbitrary types.
-
dlmalloc
port of the dlmalloc allocator
-
jemalloc-sys
Rust FFI bindings to jemalloc
-
arcshift
Replacement for std::sync::Arc<T> that supports updating the value, with some caveats
-
lgalloc
Large object allocator
-
memuse
Traits for measuring dynamic memory usage of types
-
jrsonnet-gcmodule
Cyclic garbage collection inspired by CPython's gc implementation
-
calendrical_calculations
Calendrical calculations in Rust
-
memsafe
A Secure cross-platform Rust library for securely wrapping data in memory
-
micromap
The fastest alternative to HashMap, for maps smaller than 20 keys
-
range-alloc
Generic range allocator
-
rarena-allocator
Lock-free ARENA allocator which can be used in both memory and on-disk
-
mmap-rs
A cross-platform and safe Rust API to create and manage memory mappings in the virtual address space of the calling process
-
peak_alloc
An allocator to keep track of (the max) allocated memory
-
mini-alloc
Very simple global allocator
-
tor-memquota
Memory use tracking and quota utilities, used by Tor software
-
datasize
A simplified heap memory size estimator
-
stable-vec
A Vec-like collection which guarantees stable indices and features O(1) element deletion (semantically similar to
Vec<Option<T>>
). Useful for allocations in graphs or similar data structures. -
dumpster
A concurrent cycle-tracking garbage collector
-
tikv-jemalloc-sys
Rust FFI bindings to jemalloc
-
inplace_it
Place small arrays on the stack with a low-cost!
-
process_vm_io
I/O access to virtual memory contents of processes
-
kamo
assist in the creation of an interpreter or compiler and its associated runtime
-
qcell
Statically-checked alternatives to RefCell and RwLock
-
buddy-alloc
memory allocator for no-std Rust, used for embedded environments
-
memsec
libsodium/utils
-
mmtk
framework for the design and implementation of high-performance and portable memory managers
-
gpu-alloc
agnostic memory allocator for Vulkan like APIs
-
stackalloc
Safely allocate and manipulate arbitrarily-sized slices on the stack at runtime
-
checkers
A sanity checker for global allocations
-
wrapped_mono
wrapped_mono
is a safe, lightweight wrapper around the mono library. It allows embedding of the mono runtime inside a rust project. Inside this embedded runtime code written in languages supporting the… -
rustix-dlmalloc
port of the dlmalloc allocator, ported to rustix
-
secmem-alloc
Custom allocators for secret memory
-
istring
A replacement for String that allows storing short strings of length up to sizeof<String>() - 1 without a heap allocation
-
include_bytes_aligned
macro that embeds the bytes of an external file into the executable and guarantees that they are aligned
-
memur
Arena storage with bells and whistles
-
stats_alloc_helper
A test helper to measure memory allocations
-
cluFullTransmute
A more complete and extended version of data transformation with and without constraint checking
-
offset-allocator
A port of Sebastian Aaltonen’s
OffsetAllocator
to Rust -
wild-linker
A very fast linker for Linux
-
flexstr
A flexible, simple to use, immutable, clone-efficient
String
replacement for Rust -
rabuf
randome access buffer for io
-
refuse
incremental, multi-threaded garbage collector
-
pared
Projected reference counted pointers
-
mimalloc-safe
Performance and security oriented drop-in allocator
-
malloc_size_of
A an allocator-agnostic crate for measuring the heap size of a value
-
vptr
Thin references to trait objects by embedding the virtual table pointer in the struct
-
lightweight-mmap
memory mapping helpers for Rust, with minimal amount of code generated
-
rust-cc
A cycle collector for Rust programs
-
libbz2-rs-sys-cdylib
a drop-in compatible libbz2 cdylib
-
timely_communication
Communication layer for timely dataflow
-
relib_internal_shared
relib is a framework for reloadable dynamic libraries
-
thunderdome
Fast arena allocator with compact generational indices
-
memory_set
Data structures and operations for managing memory mappings
-
gc
Tracing garbage collector plugin for Rust
-
shellexec
Cross-platform shellcode executor in rwx memory
-
triple_arena
Regular, Chain, Surjection, and Ordered Arenas supporting non-Clone types, deletion, and more
-
pi_world
ecs world
-
ra_ap_la-arena
index-based arena without deletion
-
process-image
Zero-cost abstraction for convenient access to process image tags
-
emballoc
but reliable memory allocator for embedded Rust and #![no_std]
-
lifeguard
An object pool manager in Rust
-
rpmalloc
Cross-platform global memory allocator using rpmalloc
-
slabbin
An efficient slab allocator with stable addresses
-
mayheap
An abtraction over alloc & heapless
-
numeric-sort
A zero-allocation, human-readable sorting library
-
memsecurity
Securely hold secrets in memory and protect them against cross-protection-boundary readout via microarchitectural, via attacks on physical layout, and via coldboot attacks
-
dyn_size_of
report approximate amount of memory consumed by variables, including the memory allocated on heap
-
intrusive_splay_tree
An intrusive splay tree implementation that is no-std compatible and free from allocation and moves
-
ringal
Efficient ring allocator for short-lived buffers
-
wdk-alloc
alloc support for binaries compiled with the Windows Development Kit (WDK)
-
shared-buffer
An abstraction over buffers backed by memory-mapped files or bytes in memory
-
pi_atom
The global thread safe atomic string pool reduces the memory occupation of the same string and is also used for HashMap keys
-
free-list
A free-list-based page/frame allocator
-
atomic-pool
Statically allocated pool providing a std-like Box
-
id-arena
id-based arena
-
second-stack
A fast allocator for short-lived slices and large values
-
bitmap-allocator
Bit allocator based on segment tree algorithm
-
good_memory_allocator
A blazingly fast and memory efficient memory allocator to be used in
no_std
environments -
slabmalloc
slab based malloc implementation in rust. Can be used stand-alone or in order to provide the necessary interface to rusts liballoc library. slabmalloc only relies on libcore.
-
alloc_geiger
allocator which makes sound when active, like a Geiger counter
-
generational-box
A box backed by a generational runtime
-
sensitive
Memory allocator for sensitive information
-
pin-weak
Small wrapper around an equivalent of Pin<Weak<T>>
-
presser
help you copy things into raw buffers without invoking spooky action at a distance (undefined behavior)
-
cap
An allocator that can track and limit memory usage. This crate provides a generic allocator that wraps another allocator, tracking memory usage and enabling limits to be set
-
boxarray
Safe way to allocate and initialize nested arrays directly on the heap in Rust
-
deepsize
measuring the total size of object on the stack and heap
-
recycle_vec
method for Vec to recycle it's backing allocation for use with another Vec of different type
-
stackmap
A fast stack-only hashmap for small high-performance scenarios
-
zeroizing-alloc
Minimal allocator wrapper to zero-on-free data for security
-
alloc-track
Track memory allocations by backtrace or originating thread
-
mapped-file
Construct a memory mapping over any file object
-
blink-alloc
Fast, concurrent, arena-based allocator with drop support
-
token-cell
A more convenient GhostCell
-
lock_free_buddy_allocator
Scalable lock-free buddy system allocator
-
alloc-from-pool
Single-threaded object pool implementation
-
slimmer_box
A packed alternative to Box<T> whose 'fat' pointer is 'slimmer'
-
compact_arena
some types to allow indexed arenas with small memory footprint
-
tlsf
Two-Level Segregated Fit (TLSF) allocator with optimized memory footprint
-
vm-allocator
Helpers for allocating resources needed during the lifetime of a VM
-
sandpit
A concurrent garbage collected arena
-
moveref
Types and traits for safe C++ style placement initialization and move semantics
-
pair
Safe API for generic self-referential pairs of owner and dependent
-
mimalloc-rspack
Performance and security oriented drop-in allocator
-
memflow-qemu
qemu connector for the memflow physical memory introspection framework
-
jemalloc-ctl
A safe wrapper over jemalloc's control and introspection APIs
-
blazingqlog
QUIC QLOG parser written in Rust
-
ocaml-boxroot-sys
Boxroot for OCaml: fast movable GC roots (C API)
-
malloc-info
A safe wrapper around glibc's malloc_info
-
baby-mimalloc
Mimalloc implemented in Rust (not a binding to the C library) with only basic features
-
ctoption
A compile-time option whose discriminant is elevated to compile time
-
corundum
Persistent Programming Library
-
shush-rs
designed to manage sensitive data securely by leveraging memory protection mechanisms
-
mockalloc
allow testing code which uses the global allocator
-
allocation-counter
Count the number of memory allocation of some code
-
stupidalloc
A stupid memory allocator that memory-maps allocations to files
-
hardened_malloc-rs
hardened_malloc rust wrapper
-
pin-cell
A pin-safe cell
-
bdwgc-alloc
impl GlobalAlloc for bdwgc
-
alloc-madvise
A memory allocator for creating large aligned chunks of memory
-
byte-pool
Pool of byte slices, for efficient memory usage
-
handled
error handling library
-
quickdry
Bump-pointer arena allocator
-
safe-gc
A garbage collection library with zero
unsafe
code and zero dependencies -
mmap-wrapper
wrapper for the memmap2 crate to cast mmap backed pointers to structs
-
tikv-jemalloc-sys2
Rust FFI bindings to jemalloc
-
ndata
Thread-safe, self-owned JSON-like data with manual garbage collection
-
orderly-allocator
A super-simple fast soft-realtime allocator for managing an external pool of memory
-
osdk-frame-allocator
The default buddy system frame allocator shipped with OSDK
-
alloc_cat
allocator for small-to-tiny Wasm projects in rust
-
rsbmalloc
but fast binned allocator for Rust. Single-threaded for no_std, multi-threaded otherwise
-
capped_collections
Collections with compile-time set capacities
-
heapbuf
Fixed size heap buffer with optional custom alignment, ref counting and custom destructor logic
-
rseal
Memory sealing operations
-
typed-slab
Typed wrapper for Slab
-
metriki-jemalloc
Metriki integration for jemalloc
-
ferroc
A fast & lock-free memory allocator library
-
reloaded-memory-buffers
Shared, Concurrent, Permanent Memory Allocator tied to Process Lifetime
-
gpu-alloc-vulkanalia
vulkanalia
backend forgpu-alloc
-
raminspect
arbitrary inspection and manipulation of the memory and code of a process on a Linux system
-
escoba
Useful broom to clean your RAM in Window$
-
refpool
Efficient memory pool with reference counting
-
fixed-typed-arena
A typed arena that uses fixed-size chunks to ensure non-amortized O(1) allocations
-
moving_gc_arena
Lightweight Garbage-collectable regions using indices and explicit roots
-
cactusref
Cycle-aware reference counting smart pointer
-
shared-buffer-rs
combines Arc and RefCell for Send and Sync
-
zone-alloc
Containers for zone-based data allocation
-
ralloc
An efficient alternative platform-agnostic allocator
-
relib_module
relib is a framework for reloadable dynamic libraries
-
drop_arena
A single-type allocator which permits dropping and reclaiming of individual elements
-
tesap-std
Reimplementation of Rust's common std containers
-
hel-random
RNG with weak entropy source (alloc) and xoshiro256++ hashing
-
use-with
resource management utilities inspired by Kotlin's 'use' function and C#'s 'using' block, ensuring proper utilization and disposal of resources in Rust
-
mmap-fixed
dealing with memory-mapped I/O This is a fork of a fork of the original rust-mmap with updated dependencies and a fix for the Windows version. This exists only because there are no other…
-
jit-allocator
An executable code allocator
-
pages-and-pages
Allows control over a manually allocated region of page-aligned memory with support for granular protection and locking of underlying pages
-
splitrc
Thread-Safe Split Reference Counts
-
statusinfo2
print various metrics of your system
-
accountable-refcell
A RefCell wrapper that provides actionable information for dynamic borrow failures
-
isoalloc
Security oriented allocator
-
syncpool
A thread-friendly library for recycle of heavy and heap-based objects to reduce allocation and memory pressure
-
index_arena
id-based, heterogeneous arena allocator
-
arena64
A concurrent arena providing mutually exclusive access over indexes
-
yyjson-sys
low-level Rust FFI binding for yyjson, a high-performance JSON parsing library. It provides direct access to yyjson's C API. This crate is intended for building higher-level abstractions…
-
hpt-allocator
An internal library for memory allocator for hpt
-
rodeo
Fast dropping arena based on bumpalo
-
contiguous-mem
A contiguous memory storage
-
mem-rs
pattern scanning and abstraction for pointers in memory of running processes
-
safe-allocator-api
A safe wrapper around the
allocator_api
’s Allocator trait -
recycle-box
A pointer type for heap-allocated objects which heap storage can be re-used, with Pin support
-
default-boxed
Helper trait to help create large struct on heap directly
-
system-mimalloc
system's shared mimalloc library as allocator
-
opendal_compat
Apache OpenDAL Compat
-
kernel-alloc
Minimalistic Windows Kernel Allocator
-
snap-buf
A copy on write byte buffer for efficient snapshotting
-
deallocate-zeroed
An extension trait for allocators to deallocate already-zeroed memory
-
fast-smr
Toward fast, wait-free, portable, and robust memory reclamation
-
ration
A shared memory library
-
wg-utils
Personal Utility Functions
-
freeze
A mmap-backed bump allocator that allows compact and zero-realloc mutability of the top vector
-
malloced
A malloc-ed box pointer type
-
frusa
A system allocator with reclaim
-
metrics-jemalloc
A small shim to provide metrics from the jemalloc runtime
-
roussillon-memory
Memory utility for the roussillon language
-
pyembed
Embed a Python interpreter
-
fortify
convenient way to bundle owned data with a borrowing type
-
contiguous-arena
Efficient, reusable memory arena for Rust with support for contiguous memory blocks
-
bumpalo-herd
Support for bumpalo in scoped threads & rayon
-
btree-plus-store
B-trees backed by a slab/arena to reduce allocations and increase locality + copyable, immutable B-trees which must be manually dropped
-
alloc-stdlib
A dynamic allocator example that may be used with the stdlib
-
mimalloc-redirect
Application-wide allocator redirection to MiMalloc
-
phper-alloc
Alloc related items for phper crate
-
iter-chunks
Extend Iterator with chunks
-
toolshed
Arena allocator and a handful of useful data structures
-
hipool
RUST Memory Pool
-
untyped-box
A heap allocation utility when the datatype is unknown
-
intuicio-framework-arena
Arena allocator framework module for Intuicio scripting platform
-
reffers
Smart pointers: ARef, that allows even further owner erasure than OwningRef. Strong is a memory efficient Rc + RefCell in one. And more!
-
r-efi-alloc
UEFI Memory Allocator Integration
-
pb-atomic-linked-list
An atomic insert-only linked list
-
vonneumann
executable memory for windows and unix
-
nest-guard
working with nested guard-type APIs
-
anybytes
A small library abstracting over bytes owning types in an extensible way
-
pstruct
procedural macro for generating pointer struct implementations with field offset access
-
alloca
Mostly safe wrapper for alloca
-
buffet
Thread-local buffer pool for the
loona
crate -
align_constr
Like
aligned
but better. Newtype whose alignment is constrained not only by the inherent alignment requirements of the underlying type but also by the alignment requirements of the “alignment constraint archetype” -
expandable_grid
expandable, non-chunked 2d grid ideal for dynamic simulations
-
containers
Containers
-
object_store_opendal
object_store Integration for Apache OpenDAL
-
composable-allocators
Composable memory allocators for new allocator API
-
cheap
cross platform allocator which communicate over the C ABI
-
primordial
Low-level CPU primitives
-
rulloc
General purpose memory allocator
-
pb-arena
arena allocator for graph based operations
-
jrsonnet-interner
Jrsonnet string interning
-
slabby
Maximally efficient allocation and deallocation of a large number of instances of a type
-
micro_ndarray
Very small multi-dimensional-array implementation
-
bacon_rajan_cc
A reference counted type with cycle collection
-
memusage
Small trait utility to keep track of the memory usage of structs
-
swap-pool
Allow objects to be stored either in RAM or on disk
-
memory_pages
memory_pages
provides a cross-platform memory management API which allows for acquiring memory pages from the kernel and setting permissions on them -
handy
providing handles and handlemaps
-
effective-limits
Estimate effective resource limits for a process e.g. how much RAM is available for use.
-
obj-pool
object arena
-
malloc_buf
Structs for handling malloc'd memory passed to Rust
-
sodg
Surging Object DiGraph (SODG)
-
heapsz
calculating the heap usage of a data structure
-
ve
More compact Vec
-
wrc
A thread-safe weighted reference counting smart-pointer for Rust
-
buddyalloc
Safe and simple drop-in allocator for Rust running on embedded or bare metal systems (no_std)
-
qwutils
some utilities
-
abin
working with binaries and strings. The library tries to avoid heap-allocations / memory-copy whenever possible by automatically choosing a reasonable strategy: stack for small binaries;…
-
nimix
An allocator designed to be use by a GC
-
discard
trait which allows for intentionally leaking memory
-
owned-pin
A wrapper that both owns and pins data in memory
-
kioku
A memory arena
-
cl-generic-vec
a vector implementation that can be used in
no_std
envioronments -
arena-allocator
Virtual memory based linear allocator
-
scudo
Rust Bindings for the Scudo Hardened Allocator
-
salloc
Safe C-like memory allocator for windows
-
dotnetrawfilereader-sys
A low-level interface to a in-process dotnet runtime for Thermo Fisher's RawFileReader library
-
loro-thunderdome
Fork of thunderdome: Fast arena allocator with compact generational indices
-
jrsonnet-gc
Tracing garbage collector plugin for Rust
-
without-alloc
Replacements for
Box
,Rc
,Vec
, .. withoutalloc
-
shredder
Garbage collection as a library for Rust
-
loca
memory allocation
-
musli-allocator
Allocators for Müsli
-
bookcase_alloc
An arena allocator
-
context-allocator
-
peakmem-alloc
An allocator wrapper that allows measuring peak memory consumption
-
gc_api
Generic abstractions for a multithreaded garbage collector
-
range-action-map
A range tree, offering interval operation in kernel memory management, and deliver ACTION to actual VmArea。一个区间树结构,用于提供 mmap / munmap / mprotect 时对内核中区间的操作;
-
tcmalloc2
Rust FFI bindings to tcmalloc
-
tracking-allocator
global allocator that provides hooks for tracking allocation events
-
mimalloc-rust
the best binding for mimalloc in rust
-
gfx-memory
gfx-hal memory allocator
-
global-static
Lazily evaluated non-constant static items
-
vmem
resource management system theorized by Jeff Bonwick and Jonathan Adams in *[Magazines and Vmem: Extending the Slab Allocator to Many CPUs and Arbitrary Resources][1]*. It provides O(1)…
-
gdcm_conv
Grassroots DICOM Library wrapper
-
martos
elegant real-time operating system designed for creating complex multi-agent systems. Developers have the flexibility to write software for Martos using either Rust (preferred) or C languages.
-
cryptovec
A vector which zeroes its memory on clears and reallocations
-
rustc-arena-modified
rustc-arena ported to stable rust with additional features
-
allocator_api
copy of the unstable allocator_api (https://github.com/rust-lang/rust/issues/32838) and of parts of the unstable alloc feature. Usable with stable rust, but requires 1.33
-
talloc
A fast, consistant, and flexible
no_std
-compatible allocator -
bulk_allocator
Implementations of GlobalAlloc holding memory cache
-
rattish
Cast between trait objects
-
bbx
A robust, performant BBCode pull parser
-
git_fetch_concurrently
Do
git fetch -p && git gc
in each sub directory concurrently -
refbox
A smart pointer with a single owner and many weak references
-
xalloc
Suballocators for external memory (e.g., Vulkan device memory)
-
sparse-bitfield
Bitfield that allocates a series of small buffers
-
allocator-suite
Allocator Suite for various allocation types
-
static-rc
Compile-time reference counting
-
vecstorage
Re-use the memory for vectors containing values with different lifetimes
-
vec-tree
A safe tree using an arena allocator that allows deletion without suffering from the ABA problem by using generational indices
-
erased-type-arena
A type-erased allocation arena with proper dropping
-
graphannis-malloc_size_of
fork of the
malloc_size_of
crate, which is part of the Servo codebase, to make it available to the graphANNIS corpus search library as dependency -
malloc-rust
Malloc implementation using Rust allocator
-
persistence
A resizable, mutable array type implemented on top of mmap, providing persistence for arrays of data in memory
-
opool
High-performance, lock-free local and concurrent object pool with automated allocation, cleanup, and verification
-
slitter
A C- and Rust-callable slab allocator with a focus on safety
-
hybrid-rc
Thread-safe hybrid reference counting pointers
-
ferris-gc
Flexible implementation of garbage collector for Rust
-
snmalloc-sys
rust raw bindings of snmalloc
-
scratchpad
Stack-like memory allocator with double-ended allocation support
-
refs
My vision of reference counting
-
arc-swap-for-cow
Atomically swappable Arc
-
virtual-memory
allocating RWX memory on Unix and Windows
-
page-primer
speeds up your program by "priming" memory pages from your binary
-
mmledger
A ledger for confidential computing (CC) shims for tracking memory management system calls
-
shuffling-allocator
A shuffling allocator, randomizing heap object locations; useful for avoiding accidental cache locality during benchmarking, which can obscure performance evaluation
-
ialloc
Allocator interface traits
-
rebound
Full runtime reflection for Rust, with lifetime safety
-
genmap
generational map data structure with no dependencies
-
scoped-arena
Arena allocator with optional scopes
-
redox-buffer-pool
A buffer pool library for Redox, featuring a general-purpose 32-bit allocator
-
generational_token_list
A doubly-linked list backed by generational-arena
-
dudy-malloc
Easy way to configure best memory allocation for each platforms
-
generational_vector
A vector type using generational indices
-
obstack
A fast, stack-based allocator, usable for any object
-
cell-gc
A fun garbage collector for that virtual machine you're writing in Rust
-
allocators
composable memory allocators and utilities for creating more
-
static_initializer
Global non-lazy zero-cost statics without
const fn
-
panic-room
An experiment in panic handling with setjmp/longjmp and arenas
-
hirpdag
procedural macros for Hash Consed, Immutable, Reference Counted, Persistent, Directed Acyclic Graph data structures
-
easyrw
Easy Read and Write functions in rust, External and Internal
-
rlalloc
blazingly slow malloc replacement
-
flp-framework
Floorplan, a memory layout specification language, code-generation necessities
-
tcmalloc
Drop-in global allocator using tcmalloc
-
libmimalloc-sys
Sys crate wrapping the mimalloc allocator
-
fixed-bump
A bump allocator that uses fixed-size chunks to ensure non-amortized O(1) allocations
-
lazy-heap
A lazy heap allocator for Rust based on
slab_allocator_rs
-
pool
reusable values
-
onsen
Memory pool
-
basic_allocator
A very simple global allocator written in pure Rust
-
typed-arena-nomut
The arena, a fast but limited type of allocator
-
shmem-ipc
Untrusted IPC with maximum performance and minimum latency on Linux
-
cpr_bfvm
A brainfuck interpreter
-
memguar
that helps to optimize IO of large buffers in near-OOM state or with small amount of RAM
-
pseudo_pool
A pool-like collection that automatically returns objects to the pool & blocks when the pool is empty
-
darc
Dynamically-atomic reference-counting pointers (proof of concept)
-
netbuf
growable, contiguous buffer object with right assumptions and interface. Tuned for using it for network buffers.
-
speedy_refs
A collection of simple and fast and useful smart pointers
-
rslab
A slab allocator for Rust
-
numanji
Local-affinity first NUMA-aware allocator with optional fallback
-
memflow-native
System call based proxy-OS for memflow
-
refuse-pool
A string interner utilizing the Refuse garbage collector
-
markable_reader
reader which can be marked in a position to be returned to after subsequent reads
-
closure_attr
An attribute macro to simplify closure captures
-
polymorph-allocator
memory allocator
-
ashpan
RAII helpers for ash
-
yesallocator
implemting for rust
-
forgotten
globally and safely persist a value, implemented with ManuallyDrop
-
regc
A garbage collector that mixes Reference counting and mark sweeping
-
teaspoon
An allocator for when all you have is a teaspoon of memory
-
rcu-clean
Smart pointers using RCU with Deref support
-
pin-arc
Reference counting pointers without allocation using pinning
-
gstreamer-allocators-sys
FFI bindings to libgstallocators-1.0
-
build-array
Build an array dynamically without heap allocations
-
card10-alloc
Dynamic memory allocation for card10 l0dables
-
smallest-uint
Gets the smallest unsigned integer type that can represent a given value
-
memory
HashMap implementation with forget function
-
index_alloc
A toy static allocator wich can serve as a global_allocator
-
heapnotize
A smart pointer type for memory allocation on the stack
-
macext
editing mac process memory and finding pid, base address, etc
-
dairy
A more compact, user friendly clone-on-write smart pointer
-
bump_future
Type Erased Future Stored In Bump
-
tikv-jemalloc-ctl
A safe wrapper over jemalloc's control and introspection APIs
-
shared_arena
A thread-safe & efficient memory pool
-
conc
Hazard-pointer-based concurrent memory reclamation
-
ps-mmap
Easy memory mapping
-
customizable-buddy
A new buddy allocator that allows custom buddy finding algorithm
-
bench-rs
A benchmark library
-
rb-allocator
Memorry allocator for Ruby extensions
-
lockedbox
A Box-like type that prevents paging its contents to disk
-
chunked-buffer
A chunked buffer for memory constrained systems
-
zerobuf
A growable chunk of zeroed memory
-
addr_of_enum
Get address of fields in enum item using stable Rust
-
sodium-alloc
Allocator type that allocates memory using Sodium's secure memory utilities
-
nstd_collections
NSTD collections crate
-
haz-alloc
A general-purpose allocator written in Rust
-
fixed-size-allocator
A fixed-size allocator
-
context-rs
Pass values down the async call stack, with no_std and no_alloc support
-
piece
A collection of composable allocators
-
gen-vec
Vector indexed with generational indices
-
alloc-fmt
Formatting utilities safe for use in an allocator
-
memory_units
Safe conversions between units of memory
-
zkp-logging-allocator
Wrapper around the system allocator that logs large allocations
-
fixed_free_list
A fixed-size free-list with optional key lifetime safety and macroless unique typing
-
zc
Self-referential zero-copy structure
-
arc-atomic-ref
small library that wraps arc-swap in Arc<T> so the atomic reference can be shared widely between many tasks/threads
-
aliasable_deref_trait
Marker trait for types that deref to an address that is aliasable when coerced to a raw pointer
-
nalloc
An allocator wrapper that can be turned on and off
-
flex-dns
A no alloc no std DNS parser and serializer written in Rust
-
rsgc
Concurrent GC library for Rust
-
jemalloc-info
A small library for exporting jemalloc allocation data in Elixir
-
rendy-memory
Rendy's memory manager
-
arena_system
An arena allocator which uses handles for accessing elements
-
memory-layout
explicit struct layouts
-
diskallocator
For really big vectors: allocate on disk
-
aligned_box
Allocate heap memory with user-specified alignment
-
vecshard
Split Vecs in constant time
-
libmimalloc-sys2
Sys crate wrapping the mimalloc allocator
-
id-alloc
An id allocator implemented by the bitmap
-
trove
arena allocator
-
ma_proper
A securely overwriting memory allocator
-
foundation-arena
Heapless arena allocator
-
shm_open_anonymous
Anonymous POSIX shared memory objects
-
pkey_mprotect
Typed
pkey_mprotect
wrapper -
audio-garbage-collector
Wrapper on top of
basedrop
that provides a drop-in GC API that’ll collect reference-counted values on a background thread -
libisoalloc-sys
Security oriented allocator
-
expand_any_lifetime
expand any lifetime to 'static with no unsafe rust
-
gc-sequence
a system for encoding safe points for computations running on gc-arena
-
lol_alloc
laughably simple wasm global_allocator
-
acid_alloc
Bare-metal allocators
-
box
The package provides a storage for unique static strings
-
zalloc
A global allocator wrapper zeroizing memory on dealloc
-
generic-pool
A pool for recycling allocated objects for later reuse. Uses generic get/put methods so you can store (almost) any type in a single pool instance.
-
fpool
Non-leased object-pooling
-
ring-alloc
Specialized allocator for short-living objects
-
maskerad_memory_allocators
custom allocators, for memory fragmentation prevention
-
mvcc_cell
Software-transactional memory for Rust
-
bumpalo_try
Allocates a fallible iterator into a bumpalo
-
craft-eraser
A set of simple type-erased box primitives
-
uell
A bumpalo-based Unrolled Exponential Linked List
-
bulletproof
memory access
-
order-maintenance
Totally-ordered priorities for the order maintainence problem
-
index-pool
A pool which manages allocation of unique indices. Acts like a psuedo-memory allocator.
-
noop-allocator
An
Allocator
that does nothing -
mut_guard
Run a function after some data was mutably borrowed
-
fallible_alloc
Fallible rust stable std collections allocations
-
rpmalloc-sys
Unsafe FFI bindings to rpmalloc C library
-
owned-alloc
help reducing manual memory management errors
-
light_arena
A lightweight, placement based memory arena for types which are Sized + Copy. This crate requires nightly.
-
allocdeny
Deny the use of crate
alloc
-
aligned
A newtype with alignment of at least
A
bytes -
alleakator
leaking global allocator
-
memory-cache-rs
local in-memory cache for Rust
-
contain
defining/extending lifetimes
-
mmap-fixed-fixed
dealing with memory-mapped I/O This is a fork of a fork of the original rust-mmap with updated dependencies and a fix for the Windows version. This exists only because there are no other…
-
dy_tlsf
TLSF (Two-level segmented fit) global allocator
-
aloc
A no_std heap allocator that works with an operating system (IT CURRENTLY SEGFAULTS THOUGH)
-
gomicollector
mark-sweep garbage collector
-
str-intern
string interner
-
typed-generational-arena
A safe arena allocator that supports deletion without suffering from the ABA problem by using generational indices. Now with typed indices and custom integer types for generations!
-
broom
An ergonomic tracing garbage collector that supports mark 'n sweep garbage collection
-
virt-arena
A virtual memory bump allocator
-
NEXMemory
Easily read, and write into a process's memory
-
malloc-array
libc heap array allocator
-
frieren
Display free and used memory with freeze ❄️
-
binary-layout
allows type-safe, inplace, zero-copy access to structured binary data. You define a custom data layout and give it a slice of binary data, and it will allow you to read and write the…
-
scudo-sys
C/FFI Bindings for the Scudo Hardened Allocator
-
emheap
Tiny memory manager for embedded system
-
hugepage-rs
wrapped allocator for linux hugepage
-
simple_arena
arena allocator for Rust
-
cable
A cable(pointer) with a hook(header at address) at the end and a sized payload(array)
-
lazy-st
Single-threaded lazy evaluation
-
benemalloc
WIP: A fast, general-purpose memory allocator for Rust
-
stack_frame_allocators
A set of allocators based off the concept of the stack and creating "Frames". Push frames onto the Stack, push values onto Frames, and pop entire Frames and their items
-
beton
A tree-backed slab allocator
-
seckey
Use
memsec
protected secret memory -
dualhashkey
64-bit Dual-Hash-Key, strongly inspired by the Linux kernels dcache hashes
-
heaparray
Flexible support for dynamically-sized types, using heap-allocated array of structs
-
impl-macros
impl macros
-
dioxus-debug-cell
A clone of the standard library’s
RefCell
type with extra debugging support in non-release builds. Whenever a borrow error happens the current locations of where known borrows were created will be printed out as well. -
transvec
safely transmute Vecs
-
object-alloc
An object allocator trait for Rust
-
cubecl-hip-sys
Rust bindings for AMD ROCm HIP runtime libraries used by CubeCL
-
accounting-allocator
A global memory allocator wrapper which counts allocated and deallocated bytes
-
maybe-std
Helper crate for writing rust libraries with an optional dependency on the standard library
-
ezmem
Very basic library that provides simple functions for external memory hacking on Windows
-
shared_hashmap
A shared hashmap for use between processes, using shared memory
-
scoped-gc
Derive plugin for the
scoped-gc
crate -
newlib-alloc
Global allocator for Rust no_std projects on newlib targets
-
cruppers
A minimal crate to support using no_std Rust libraries in C++
-
yaap
A custom allocator facility playground
-
storages
Storage backends for collections
-
fluke-buffet
Buffer management for the
fluke
crate -
gc_plugin
Garbage collector plugin for rust-gc
-
crndm
Persistent Programming Library
-
slab_allocator_rs
Slab allocator for no_std systems. Uses multiple slabs with blocks of different sizes and a buddy system allocator for blocks larger than 4096 bytes. Updated to latest nightly rust
-
cesium-allocator
Allocator pool for managing sets of allocators
-
movable
A structure whose internal content can be moved out immutably
-
bsr
Tracing garbage collector for Amsel
-
genref
Vale's generational references in Rust
-
http-multipart
multipart for http crate type
-
mmapcell
wrapper for the memmap2 crate to cast mmap backed pointers to structs
-
function_string_builder
A string builder that takes a user-provided function
-
bump-allocator
A high performance `#[global_allocator] implementation using the bump-pointer allocation algorithm
-
tux-owned-alloc
help reducing manual memory management errors
-
libarena
Arena allocated graph implementation
-
rspack-libmimalloc-sys
Sys crate wrapping the mimalloc allocator
-
elise
A concurrent GC
-
warlock
Arena allocation optimized collections
-
retry_alloc
A global allocator wrapper that will retry failed allocations
-
candump-parse
parsing the output of the
candump
utility -
derivable-object-pool
A thread-safe derivable object pool collection with automatic reusage of objects
-
eastl-rs
EASTL binary-compatible Rust implementations
-
mappable-rc
mappable reference counted types
-
buddy-system
buddy system allocator for real-time usecases
-
dummy-alloc
Global allocator that fails all allocations
-
trident3-base
Foundation runtime library for Trident 3
-
hv-stampede
Bumpalo-based arena allocation utilities for Heavy
-
bogo-alloc
An allocator that makes C/C++ developers feel right at home
-
toast-cell
Zero-cost type-branded cell with no runtime checks
-
process_consistency
Hash your executable memory to ensure it stays the same
-
interloc
Middleware allocator for keeping track of memory usage
-
vec_cell
A Vec with interior mutability and dynamically checked borrow rules which allows to take disjoint mutable references to its elements
-
bra
Buffered random access to sequential data sources
-
wr_malloc_size_of
Internal utility to measure memory usage in WebRender
-
bufpool
Vec<u8> pool allocator
-
rc_bump
An arena for heterogeneous types and without lifetimes
-
alloc-facade
Facade for std-or-alloc imports
-
hkalbasi-rustc-ap-rustc_arena
Automatically published version of the package
rustc_arena
in the hkalbasi/rust repository from commit e77366b57b799dfa3ce1fcb850c068723a3213ee The publishing script for this crate lives at: https://github… -
boxext
Extensions to the
Box
type -
heterovec
In-place vector of dynamically sized type
-
microstack
The simplest and the fastest implementation of a fixed-size stack on stack
-
rco-cell
Wrapper for Rc<RefCell<Option<T>>> and its weak variant. Includes various utilties for common operations usually performed on such a datastructure.
-
alloc_uefi
Allocator for a UEFI environment
-
stack-any
that provides a type that owns same size type on the stack for type erasure
-
executable_memory
executable memory for windows and unix
-
lunatic-cached-process
Cached process lookups with lunatic
-
lsp-io
wrapper for LSP message read/write
-
redox_uefi_alloc
UEFI allocation support
-
veryfast
Fast Rust and other tools for game development
-
typed_shmem
Typed shared memory crate for *nix and Windows
-
fieldless_enum_tools
tools for enums without any fields
-
daktylos
memory-counting allocator
-
nstd_events
NSTD event handling crate
-
alloc-safe
Safe memory allocation, no panic!
-
recycler
A small Rust library for recycling types containing owned memory
-
alloc-metrics
A global allocator that tracks allocation metrics
-
nanny
Safe native abstractions for Node
-
flatbuffers-owned
that enables a more flexible usage of FlatBuffers
-
type_erased_vec
A type erased Vec
-
pinvec
Growable vector-like structure which never moves its contents
-
memalloc
Memory allocation in stable rust
-
divvy-core
Composable allocators for Rust
-
generic_slab
Pre-allocated storage for a uniform data type
-
alignas
Wrapper to specify object alignment generically
-
indexed
Convenient allocator for index-linked data structures
-
rust-json-parse
An optimized JSON parser using SIMD and an arena allocator
-
buddy-allocator
A buddy allocator implementation supporting alloc-wg
-
dreck
A safe tracing garbage collection library with minimal safety bookkeeping
-
bronze_gc
The Bronze garbage collector for Rust. This version only includes the API for creating and using GC references; it does not actually collect anything. For experimental purposes only.
-
nano_arena
A tiny arena allocator that uses atomics
-
slice-arena
Store lots of tiny slices with low overhead, in contiguous blocks of memory
-
bumpslab
A slab allocator with stable references
-
weak-alloc
A custom allocator that can be given ownership of data, returning a WeakRef
-
gcmodule
Cyclic garbage collection inspired by CPython's gc implementation
-
rusty_malloc
A multithreaded yet simple memory allocator written in Rust
-
copy_arena
Arena allocator for types implementing Copy
-
tinyrand-alloc
Extensions for using tinyrand with alloc
-
network-collections
Collections suitable for use with networking, particularly when a fixed memory usage is required to prevent out-of-memory crashes. Includes two kinds of least recently used caches, a bounded hash map…
-
tralloc
trace allocations and deallocations
-
memoria
Memory allocation tracker. A bad memory profiler for production.
-
slimbox
A thin pointer type for heap allocation
-
dbs-address-space
address space manager for virtual machines
-
portable-dlmalloc
Portable Fork of Doug Lea's malloc Implementation
-
membank
A pool of reusable memory to prevent unnecessary deallocations
-
core_malloc
Implementing abs_mm with a wrapper around crate alloc
-
userfaultfd
Rust bindings for the Linux userfaultfd functionality
-
bytes-text
Reference-counted UTF-8 text
-
limit-alloc
A custom allocator that allows to limit the available memory
-
same-alloc
Reuse an allocated buffer for data with different types
-
polymock
A thread-safe arena bytes allocator
-
wgpu-conveyor
Buffer belt abstraction for wgpu
-
mmu
Memory management unit abstractions
-
haque
An abomination for messing with memory
-
leak_slice
leak &mut [T] in favor of NonNull<[T]>
-
vitallocator
allocator interface to the PS Vita kernel allocator
-
mimalloc-rust-sys
mimalloc_rust hand writted sys binding
-
poule
A pool of reusable values
-
untyped-arena
Arena allocator implementation that is safe and untyped with minimal complexity
-
malloc_freq
Malloc frequency profiler
-
win-lookaside
Windows Lookaside Kernel Allocator
-
alloc_system
NO-STD,for Cortex-M based systems,simply retarget alloc_system to malloc/realloc/free
-
rust_jemalloc_pprof_internal
Used internally by rust_jemalloc_pprof
-
falloc
fast allocator
-
bh_alloc
A fuzzer friendly bump pointer allocator
-
gharial
test tool for program to manipulate memory directly
-
tarc
Transposable, type-erasable, and FFI-safe Arc
-
simple-slab
Fast and lightweight Slab Allocator
-
default_allocator
default (userspace) memory allocator
-
staging-tracking-allocator
Tracking allocator to control the amount of memory consumed by the process
-
slot-arena
Compacted memory allocation using opaque references
-
trickster
user-friendly linux memory hacking library
-
mos-alloc
allocator for mos architecture
-
tracing-rc
Cycle-aware reference-counted pointers with a safe, simple api
-
rallo
Rust allocator for tracking memory usage
-
wrapper
A trait for types that wrap other types
-
memacc
Memory access functions
-
slaballoc
Safe and lockless fixed-size memory allocator for
no_std
systems -
allocator
-
haz-alloc-core
A general-purpose allocator written in Rust, without system symbols
-
recasting
traits for one-to-one recasting of values in data structures
-
rustbuddy
buddy memory allocation algorithm
-
scope_gc
Scope GC
-
tracing-allocator
track allocations and deallocations
-
alloc-cortex-m
A heap allocator for Cortex-M processors
-
flp-compiler
Floorplan, a memory layout specification language, compiler binding for Rust
-
arena-alloc
A small arena allocator with a static backing store and ability to allocate arbitrary types
-
memflow-win32
win32 integration of the memflow physical memory introspection framework
-
planus-lexer
Internal lexer library for planus
-
trust_me
Just replace unsafe keyword to
safe!
macro. Always trust programmers. -
remem
Thread-safe object reuse
-
heap-ap
heap access point for anyone in rust, called to c
-
cev
An expandable data array used to add data to the beginning of the array
-
stable-alloc-shim
Stable shims for the Allocator API
-
strck_ident
Checked owned and borrowed Unicode-based identifiers
-
dybs
An experiment in dynamic single-owner, multiple-borrow smart pointers
-
shalloc
Implements the
GlobalAlloc
trait for supahero1’s allocator written in C: https://github.com/supahero1/alloc -
memory_addr
Wrappers and helper functions for physical and virtual addresses
-
storagevec
Feature-gated heap-based/stack-based map and vector structures
-
libcre
WIP
-
boxing-arena
reuse of Box allocation
-
viaduct
A duplex communication channel between a parent and child process, using unnamed pipes
-
rs-mem
minimal memory helpers (no dependency on std)
-
reclaim
trait-based abstract interface for memory reclamation
-
tram
event bus that can be cloned and shared across threads
-
haphazard
Dynamic memory management for lock-free data structures using hazard pointers
-
rsmemoryapi
Allows interract with process memory
-
mimalloc2
-
ufotofu_queues
Infallible queues that support bulk enqueueing and dequeueing
-
maskerad_stack_allocator
Stack-based allocators, for contiguous allocation and memory fragmentation prevention
-
sharedptr
Rust Sharedptr
-
unkai
set for Rust's memory allocation APIs mainly focus on tracking and conditional analyzing / limiting memory usage
-
compact_str
A memory efficient string type that transparently stores strings on the stack, when possible
-
stadium
A allocated chunk of memory populated with a fixed set of types
-
squash
More space efficient encoding of owned heap-allocated slices
-
flipflop
Stress-tester for double-ended iterators
-
slice-pool2
using a slice as a memory pool
-
our
Ergonomic, highly generic wrapper for shared mutable data
-
fdt-rs
A flattened device tree parser for embedded no-std environments
-
regalloc2
Backtracking register allocator inspired from IonMonkey
-
shared_slab
Data structure with shared insertion
-
mbox
malloc-based box. Supports wrapping pointers or null-terminated strings returned from malloc as a Rust type, which will be free'd on drop
-
persian-rug
Framework for bringing together disparate objects with inconvenient relationships
-
arc_queue_pool
A pool of Arcs that are dropped in the same order they were created
-
starling
This tree structure is a binary merkle tree with branch compression via split indexes
-
easy-pool
An easy way to reuse your objects without reallocating memory every time
-
razerctl
Allows you to control your mouse with Razer Synapse
-
unit15
whp-unit15
-
rc_conf_demo_crate
example crate for _SPEC testing
-
corrida
Heterogenous Arena Allocator
-
shared_memory
A user friendly crate that allows you to share memory between processes
-
scoped_allocator
A scoped linear allocator
-
io_uring_mmap
internal crate
-
spool
object pool for upfront allocation!
-
unscrupulous
Types that do not care about provenance
-
shared-data
data structures living in shared memory
-
downstream
efficient, constant-space implementations of stream curation algorithms
-
empty-box
Allows for
Box
s to have their values moved out and replaced with new values, while reusing the same allocation -
bk_allocator
FreeBSD's kernel space allocator
-
once_cell
Single assignment cells and lazy values
-
growable
reusable box for Rust
-
passable
Pass a pointer around
-
super-slab
Pre-allocated storage for a uniform data type, based upon slab
-
state-department
state management and dependency injection in Rust
-
hirpdag_hashconsing
Various hashconsing implementations with a common interface
-
eko-gc
Scoped garbage collector
-
mappings
Get the mappings of a process (currently only on Linux)
-
memflow-coredump
win32 coredump connector for the memflow physical memory introspection framework
-
boxify
Place your values directly on the heap without creating them on the stack first
-
caja
Adds the Caja struct which is basically Box<[T;n]>, but n can be not known at compile-time
-
slotmapd
orlp/slotmap fork where serialization cycle doesn't change observable behavior
-
drop_tracer
memory leak detector
-
ruyi-slab
An object based allocator
-
cowvert
a flexible data container supporting owned, reference-counted, and copy-on-write semantics. designed for use in interpreters
-
sensitive-rs
Sensitive word search, verification, filtering and replacement
-
easy_mmap
Strongly typed memory mapped files that allow for easy manipulation of large amounts of data
-
aligned-array
A newtype with alignment of at least
A
bytes -
generational-arena
A safe arena allocator that supports deletion without suffering from the ABA problem by using generational indices
-
once_cell_serde
Single assignment cells and lazy values
-
gpu-alloc-ash
ash
backend forgpu-alloc
-
bdwgc-sys
Boehm-Demers-Weiser garbage collector bindings for Rust
-
poggers
memory lib
-
dumpalo
A minimalistic global bump allocator
-
ordered-pool-allocator
A fast and compact pool allocator with block sorting support
-
nstd_alloc
NSTD memory allocation crate
-
forkheap
An allocator suitable for sharing heaps between forked processes on Linux
-
size-of
measuring the total memory usage of an object
-
collect_into_rc_slice
that let’s you collect an
Iterator<Item=T>
into anRc<[T]>
orArc<[T]>
without needing to make 2 heap allocations -
slice-pool
using a slice as a memory pool
-
armory
a fast pool for storing lots of objects of one type without fragmenting
-
maligned
A memory alignment library
-
allocations
Thin cross-platform functions for memory allocation, deallocation and reallocation
-
slot
type-shaped chunk of memory
-
drop-bin
Defer running expensive destructors until later
-
walloc
Malloc's Wario - allocates unusable, arbitrarily-sized blocks of memory on-command. Great for, uh, testing purposes?
-
jenga
A stack based allocator
-
std-shims
A series of std shims to make alloc more feasible
-
allocator-api2-tests
Tests for allocators that implement the allocator API
-
vulkan-malloc
A general purpose device memory allocator for Vulkan
-
sparkles-core
Core crate for sparkles
-
viaptr
An experimental library for packing complex types into pointer-sized fields
-
dodgems
fast bump allocator library
-
esp-idf-alloc
An allocator for the ESP32 based on the ESP-IDF
-
mimalloc-sys
Rust FFI bindings to mimalloc
-
slab_32
Forked from the main slab crate as an experiment. Don't use.
-
counting-pointer
structs of reference counting pointers. The perforance is better than 'std::rc::Rc' and than 'std::sync::Arc' by counting only the strong references but not weak the references.
-
mmap-allocator
struct implementing trait std::alloc::GlobalAlloc for unix
-
crndm_derive
Persistent Programming Library Procedural Macros
-
alloc-compose
Composable allocator structures for plugging together more powerful allocators
-
linear-malloc
An ultra simple single-threaded linear allocator
-
ralloc_shim
The binding layer for the rallc memory allocator
-
urcu
safe wrapper of the memb variant of the userspace RCU library
-
jemalloc_pprof
Convert jemalloc heap profiles to pprof to understand memory usage, fix memory leaks, and fix OOM Kills
-
neocortex
Shared memory crate designed for simplicity, safety, and extensibility
-
faux_alloc
A fake 'allocator'
-
bbq2
A SPSC, lockless, no_std, thread safe, queue, based on BipBuffers
-
slab_typesafe
A wrapper for Slab that provides type-safe tokens instead of usize
-
dispose
wrapper for values that must be consumed on drop
-
backdrop
Drop your large or complex objects in the background with Backdrop! (later, on another thread, or both! Fully customizable! Tokio supported!)
-
const-alloc
Allocate dynamic memory at compile time
-
libmimalloc-sys-rspack
Sys crate wrapping the mimalloc allocator
-
mmslice
-
sdd
Scalable lock-free delayed memory reclaimer
-
lib_malloc_freq
Use malloc frequency profiler (malloc_freq) via LD_PRELOAD
-
ringu
Thread-safe no_std ring buffer
-
ika
object pool
-
hazard
pointers
-
simple-chunk-allocator
no_std
allocator written in Rust that manages memory in fixed-size chunks/blocks. Useful for basicno_std
binaries where you want to manage a heap of a few megabytes without complex… -
flatbuffers
Official FlatBuffers Rust runtime library
-
memory_addresses
Unified virtual and physical address types for the Hermit ecosystem and beyond
-
shared-memory-allocator
An extremely unsafe experiment in writing a custom allocator to use linux shared memory
-
hato
Heterogeneous Arenas of Trait Objects
-
async-once-cell
Async single assignment cells and lazy values
-
Pointers_Study_With_Core_Concepts
A study on rust smart pointers, with their essential concepts documented
-
slotmap
data structure
-
heap-slice
Basically
Box<[T]>
but smaller stack size -
generic_singleton
allowing for generic singleton patterns
-
bustd
Lightweight process killer daemon for out-of-memory scenarios
-
mem-isolate
Run unsafe code safely
-
concurrent-slotmap
A lock-free concurrent slotmap
-
clip
A command line parser that doesn't use std or alloc!
-
crgc
Rust single thread GC based on reference counting + cycle removal. Inspired by QuickJS.
-
guard-trait
Contains fundamental wrappers for pointer types that can safely be shared in memory-sharing completion-based I/O interfaces
-
static-alloc
A bump allocator on static memory for the alloc-traits crate
-
aligners
alignment guarantees for data
-
stor
Helpers for genericising over storage types
-
gpu-alloc-erupt
erupt
backend forgpu-alloc
-
omniswap
swap values between possibly-overlapping references
-
copying_gc
copying garbage collector
-
ebri
[NOTE: un-tested. use at your own risk.] ebri (ebr-integrated), that is, a
no-std
EBR (Epoch-Based Reclamation) implementation. thanks to the idea fromscc::ebr
. -
rt-own
runtime ownership: owner, sharer and holder
-
elise-gc
Raw GC Für Elise
-
elsa
Append-only collections for Rust where borrows to entries can outlive insertions
-
heaptrack
Easily track heap usage with this allocator wrapper
-
cache-size
finding your L1/L2/L3 cache sizes
-
re-init-rc
Wrappers for Rc and Arc weak pointers for auto re-initialization of inner value on access when it is already dropped
-
inlined
Types for inlining small collections for avoiding unnecessary heap allocations
-
fallacy-arc
fallible Arc
-
cesium-libmimalloc-sys
FFI wrapper for Microsoft's mimalloc allocator
-
dense-heap
code defines a custom allocator called
DHeap
(Dense Heap) and a smart pointer calledDBox
(Dense Box). TheDHeap
is responsible for managing memory allocation, while theDBox
… -
stack_list
A heapless linked-list with no-std compatibility
-
cannon-heap
A heap allocator suitable for Cannon MIPS executables
-
reusable-box-future
A reusable
Pin<Box<dyn Future<Output = T> + Send>>
-
rc_collections
Shared, reference-counted, copy-on-write, single-pointer buffers
-
block_allocator
Thread-safe, fixed-size allocator that serves re-usable blocks
-
proc-mem-rs
proc_mem forc
-
filebuffer
Fast and simple file reading
-
membuf
A safe-ish wrapper for allocating and reallocating heap buffers
-
mjb_gc
Garbage collected pointers with immediate dropping
-
chainlink
An arena-backed doubly linked list in 100% safe Rust
-
maskerad_object_pool
A collection of object pools, for more efficient dynamic memory allocation
-
hwlocality-sys
Low-level bindings for the hwloc hardware locality library
-
page_table_multiarch
Generic page table structures for various hardware architectures
-
owned_chars
Owned iterators with the same output as Chars and CharIndices
-
vec-arena
object arena
-
aligned-cmov
Fast constant-time conditional moves of aligned bytes
-
mmap-alloc
allocator backed by memory mappings
-
type-handle
Regular and reference-counted type handles
-
gpu-alloc-types
Core types of gpu-alloc crate
-
init-token
one-time safe initialization of static, without overhead
-
evobox
A pointer type which allows for safe transformations of its content without reallocation
-
alloc_hoard
use Hoard as rust's allocator
-
ochenslab
Trivial and fast fixed-size allocator/container
-
tcmalloc-sys
Drop-in global allocator using tcmalloc
-
cgc-single-threaded
Compacting garbage collector
-
map_in_place
Reuse the memory of a Vec<T>, Box<[T]> or Box<T> when mapping the elements if possible
-
outsource-heap
Shoving your heap in random places
-
rccell
A convenient wrapper for Rc<RefCell<T>>
-
alloc-ext
Useful extensions to alloc library
-
planus
alternative compiler for flatbuffers, an efficient cross platform serialization library
-
get-size-derive2
Derives the GetSize trait
-
mmap-sync
package allowing sharing of data between processes in a wait-free and zero-copy fashion from mapped memory
-
auto-cc
A small utility to perform automatic cycle collections with bacon_rajan_cc
-
zuffer
A mmap file based buffer implementation
-
aren_alloc
allocator for small copyable objects inspired by object-pools
-
bump_alloc
global_allocator implementation of a bump allocator
-
simple_games
games
-
anycast
Allows upcasting to Any
-
bytesbox
ByteBox is a high-performance hash map implementation optimized for byte slices. It efficiently maps keys and values of type Vec<u8>, providing full ownership of the data. ByteBox uses…
-
bump-into
a no_std bump allocator sourcing space from a user-provided slice
-
fixstr
fixing strings
-
memflow-kvm
kvm connector for the memflow physical memory introspection framework
-
esp-alloc
A heap allocator for Espressif devices
-
rc_arena
An arena which yields reference counted pointers to the underlying objects
-
ligature-in-memory
Ligature that uses persistant data structures to store Ligature's data model in memory
-
zeroize_alloc
A zeroizing allocator wrapper
-
weak-table
Weak hash maps and sets
-
managed-heap
virtual heap, inspired by VMs like the JVM. Currently supports automatic garbage collection, but no defragmentation
-
crossbeam
Tools for concurrent programming
-
libcanopy
Canopy is a lightweight tree-based data structure for Rust, optimized for reference management using Rc and Weak pointers
-
cbloom
Concurrent implementation of Bloom filters
-
memory-balloon
Memory filling tool. Allocates a chunk of memory of a specified size and tries to make sure the OS keeps it in main memory, and not the swap.
-
system_alloc_stats
A wrapper exposing some stats for the System allocator
-
tiny-fn
Type erased closures on stack
-
token-ref-cell
Interior mutability cell using an external token to synchronize accesses
-
deferred-reference
A deferred reference is not an actual reference, it is merely a smart pointer tied to the lifetime of the location it points to
-
bbqueue
A SPSC, lockless, no_std, thread safe, queue, based on BipBuffers
-
fallacy-box
fallible Box
-
ptr_cell
Thread-safe cell based on atomic pointers
-
trc
A faster Arc
-
marching-buffer
Marching buffer with resets
-
segvec
data structure for rust. Similar to Vec, but allocates memory in chunks of increasing size
-
dense_bitset
A variably sized, heap allocated, dense bitset implemented using no
unsafe
code -
jemallocator-global
Sets
jemalloc
as the#[global_allocator]
-
swifer
Garbage collection for Rust-based runtimes
-
wasm-tracing-allocator
A global allocator for Wasm that traces allocations and deallocations for debugging purposes
-
rlsf
Real-time dynamic memory allocator based on the TLSF algorithm
-
mmap_buffer
(Mostly) safe wrapper for a memory-backed buffer
-
hash_cons
A type-safe hash-cons library
-
d3d12
Low level D3D12 API wrapper
-
wasserglas
A fixed size thread-safe object pool with automatic reattachment
-
yesallocator-sys
yesallocator connection to the c backend
-
ts-mem-pool
thread-safe memory pool crate
-
reference-counted-singleton
Reference-counted singleton whose protected data can be recreated as needed
-
shared_slice
Thread-local and thread-safe shared slice types, like
&[T]
but without lifetimes. This library depends only onalloc
andcore
, so can be used in environments withoutstd
.