-
bumpalo
A fast bump allocation arena for Rust
-
arc-swap
Atomically swappable Arc
-
slab
Pre-allocated storage for a uniform data type
-
jemallocator
allocator backed by jemalloc
-
sharded-slab
A lock-free concurrent slab
-
tikv-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
-
typed-arena
The arena, a fast but limited type of allocator
-
heapless
static
friendly data structures that don’t require dynamic memory allocation -
mimalloc
Performance and security oriented drop-in allocator
-
region
Cross-platform virtual memory API
-
uninit
A collection of tools for a safer usage of uninitialized memory
-
memmap2
Cross-platform Rust API for memory-mapped file IO
-
yoke
Abstraction allowing borrowed data to be carried along with the backing data it borrows from
-
vm-memory
Safe abstractions for accessing the VM physical memory
-
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.
-
tendril
Compact buffer/string type for zero-copy parsing
-
rctree
A 'DOM-like' tree implemented using reference counting
-
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
-
boa_gc
Garbage collector for the Boa JavaScript engine
-
gpu-alloc
agnostic memory allocator for Vulkan like APIs
-
dlmalloc
port of the dlmalloc allocator
-
allocator-api2
Mirror of Rust's allocator API
-
regalloc2
Backtracking register allocator inspired from IonMonkey
-
talc
A fast and flexible allocator for no_std and WebAssembly
-
stats_alloc
An allocator wrapper that allows for instrumenting global allocators
-
gbm
libgbm bindings for rust
-
gc-arena
safe, incrementally garbage collected arenas
-
dyn-stack
Dynamic stack wrapper for unsized allocations
-
ghost-cell
Compile-time zero-cost borrow-checking of aliased references
-
thunderdome
Fast arena allocator with compact generational indices
-
snmalloc-rs
rust bindings of snmalloc
-
bump-scope
A bump allocator with support for scopes
-
checkers
A sanity checker for global allocations
-
rlsf
Real-time dynamic memory allocator based on the TLSF algorithm
-
embedded-alloc
A heap allocator for embedded systems
-
lol_alloc
laughably simple wasm global_allocator
-
jemalloc-sys
Rust FFI bindings to jemalloc
-
vm-allocator
Helpers for allocating resources needed during the lifetime of a VM
-
bufsize
bytes::BufMut implementation to count buffer size
-
qcell
Statically-checked alternatives to RefCell and RwLock
-
static-alloc
A bump allocator on static memory for the alloc-traits crate
-
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
-
micromap
The fastest alternative to HashMap, for maps smaller than 20 keys
-
jemalloc-ctl
A safe wrapper over jemalloc's control and introspection APIs
-
kamo
assist in the creation of an interpreter or compiler and its associated runtime
-
reloaded-memory-buffers
Shared, Concurrent, Permanent Memory Allocator tied to Process Lifetime
-
ra_ap_profile
TBD
-
mmap-rs
A cross-platform and safe Rust API to create and manage memory mappings in the virtual address space of the calling process
-
good_memory_allocator
A blazingly fast and memory efficient memory allocator to be used in
no_std
environments -
tlsf
Two-Level Segregated Fit (TLSF) allocator with optimized memory footprint
-
tracy_full
Fully featured bindings for the Tracy profiler
-
jrsonnet-gcmodule
Cyclic garbage collection inspired by CPython's gc implementation
-
presser
help you copy things into raw buffers without invoking spooky action at a distance (undefined behavior)
-
allocation-counter
Count the number of memory allocation of some code
-
hipstr
string for Rust: zero-cost borrow and slicing, inline representation for small strings, (atomic) reference counting
-
buddy-alloc
memory allocator for no-std Rust, used for embedded environments
-
id-arena
id-based arena
-
memsec
libsodium/utils
-
tikv-jemalloc-sys
Rust FFI bindings to jemalloc
-
peak_alloc
An allocator to keep track of (the max) allocated memory
-
mimalloc-rust
the best binding for mimalloc in rust
-
process_vm_io
I/O access to virtual memory contents of processes
-
lgalloc
Large object allocator
-
ferroc
A fast & lock-free memory allocator library
-
gc
Tracing garbage collector plugin for Rust
-
range-alloc
Generic range allocator
-
slimmer_box
A packed alternative to Box<T> whose 'fat' pointer is 'slimmer'
-
slotmapd
orlp/slotmap fork where serialization cycle doesn't change observable behavior
-
flexstr
A flexible, simple to use, immutable, clone-efficient
String
replacement for Rust -
byte-pool
Pool of byte slices, for efficient memory usage
-
mmtk
framework for the design and implementation of high-performance and portable memory managers
-
rabuf
randome access buffer for io
-
rb-sys
Rust bindings for the CRuby API
-
lifeguard
An object pool manager in Rust
-
haphazard
Dynamic memory management for lock-free data structures using hazard pointers
-
dyn_size_of
report approximate amount of memory consumed by variables, including the memory allocated on heap
-
memflow-qemu
qemu connector for the memflow physical memory introspection framework
-
inplace_it
Place small arrays on the stack with a low-cost!
-
pi_world
ecs world
-
refuse
incremental, multi-threaded garbage collector
-
wdk-alloc
alloc support for binaries compiled with the Windows Development Kit (WDK)
-
triple_arena
Regular, Chain, Surjection, and Ordered Arenas supporting non-Clone types, deletion, and more
-
stele
An atomic Vec-like structure with no copying on allocation
-
vonneumann
executable memory for windows and unix
-
rustix-dlmalloc
port of the dlmalloc allocator, ported to rustix
-
malloced
A malloc-ed box pointer type
-
fixed-typed-arena
A typed arena that uses fixed-size chunks to ensure non-amortized O(1) allocations
-
gear-dlmalloc
port of the dlmalloc allocator
-
corundum
Persistent Programming Library
-
stak-vm
VM for Stak Scheme
-
eastl-rs
EASTL binary-compatible Rust implementations
-
emballoc
but reliable memory allocator for embedded Rust and #![no_std]
-
include_bytes_aligned
macro that embeds the bytes of an external file into the executable and guarantees that they are aligned
-
cactusref
Cycle-aware reference counting smart pointer
-
pin-weak
Small wrapper around an equivalent of Pin<Weak<T>>
-
istring
A replacement for String that allows storing short strings of length up to sizeof<String>() - 1 without a heap allocation
-
contiguous-mem
A contiguous memory storage
-
swap-pool
Allow objects to be stored either in RAM or on disk
-
deploy-temp-fringe
safe, lightweight userland context switches
-
frusa
A system allocator with reclaim
-
blink-alloc
Fast, concurrent, arena-based allocator with drop support
-
rpmalloc
Cross-platform global memory allocator using rpmalloc
-
alloc-from-pool
Single-threaded object pool implementation
-
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.
-
token-cell
A more convenient GhostCell
-
hash_cons
A type-safe hash-cons library
-
recycle_vec
method for Vec to recycle it's backing allocation for use with another Vec of different type
-
composable-allocators
Composable memory allocators for new allocator API
-
ndata
Thread-safe, self-owned JSON-like data with manual garbage collection
-
second-stack
A fast allocator for short-lived slices and large values
-
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…
-
hardened_malloc-rs
hardened_malloc rust wrapper
-
datasize
A simplified heap memory size estimator
-
rodeo
Fast dropping arena based on bumpalo
-
datafusion-execution
Execution configuration support for DataFusion query engine
-
product-os-http-body
Product OS : Http Body is a derivative of the http-body and http-body-util crates restructured for both std and no_std environments
-
dumpster
A concurrent cycle-tracking garbage collector
-
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
-
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” -
ialloc
Allocator interface traits
-
unwinder
Call stack spoofing for Rust
-
cluFullTransmute
A more complete and extended version of data transformation with and without constraint checking
-
rco-cell
Wrapper for Rc<RefCell<Option<T>>> and its weak variant. Includes various utilties for common operations usually performed on such a datastructure.
-
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
-
local-rcu
RCU with a safe API and local collection of old values
-
flipperzero-sys
Flipper Zero
-
slabbin
An efficient slab allocator with stable addresses
-
hzrd
Shared mutability containers based on hazard pointers
-
smallmap
Small byte-sized generic key-value map type
-
flatty
Flat message buffers
-
generational-box
A box backed by a generational runtime
-
bulk_allocator
Implementations of GlobalAlloc holding memory cache
-
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… -
process-image
Zero-cost abstraction for convenient access to process image tags
-
memusage
Small trait utility to keep track of the memory usage of structs
-
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… -
broxus-util
A collection of utils used at Broxus
-
peakmem-alloc
An allocator wrapper that allows measuring peak memory consumption
-
mapped-file
Construct a memory mapping over any file object
-
secmem-alloc
Custom allocators for secret memory
-
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)…
-
object-pool
A thread-safe object pool with automatic return and attach/detach semantics
-
gp-allocator
Collection of allocator implementations
-
jrsonnet-interner
Jrsonnet string interning
-
safe-gc
A garbage collection library with zero
unsafe
code and zero dependencies -
lazy-st
Single-threaded lazy evaluation
-
piece
A collection of composable allocators
-
mimalloc2-rust
the fork of the best binding for mimalloc in rust
-
plushy
Comfiest generational arenas for Rust
-
memory_storage
memory storage comparable to a Vec where removing items doesn't shift all the items after the removed item to the left and doesn't invalidate their IDs. It allows you to remove items…
-
wasm-nopackage
Basic alloc and dealloc and module setup for lightweight WASM modules
-
alloc-stdlib
A dynamic allocator example that may be used with the stdlib
-
snmalloc-sys
rust raw bindings of snmalloc
-
sodg
Surging Object DiGraph (SODG)
-
indextreemap
A BTreeMap implementation that allows for key and or positional insertion and retreival
-
scudo
Rust Bindings for the Scudo Hardened Allocator
-
alloc_geiger
allocator which makes sound when active, like a Geiger counter
-
libmimalloc-sys
Sys crate wrapping the mimalloc allocator
-
ralloc
An efficient alternative platform-agnostic allocator
-
jit-allocator
An executable code allocator
-
re_memory
Run-time memory tracking and profiling
-
aligners
alignment guarantees for data
-
rsbmalloc
but fast binned allocator for Rust. Single-threaded for no_std, multi-threaded otherwise
-
chromosome
Genetic algorithm tools library
-
generic_slab
Pre-allocated storage for a uniform data type
-
chunked-buffer
A chunked buffer for memory constrained systems
-
mmap-append
Append-only memory-mapped I/O, resizable, with low lock contention
-
persistence
A resizable, mutable array type implemented on top of mmap, providing persistence for arrays of data in memory
-
backdrop
Drop your large or complex objects in the background with Backdrop! (later, on another thread, or both! Fully customizable! Tokio supported!)
-
sti
STd Improved
-
scratchpad
Stack-like memory allocator with double-ended allocation support
-
regc
A garbage collector that mixes Reference counting and mark sweeping
-
ocaml-boxroot-sys
Boxroot for OCaml: fast movable GC roots (C API)
-
mini-alloc
Very simple global allocator
-
fixed-bump
A bump allocator that uses fixed-size chunks to ensure non-amortized O(1) allocations
-
deepsize
measuring the total size of object on the stack and heap
-
memflow-kvm
kvm connector for the memflow physical memory introspection framework
-
sgx_alloc
Rust SGX SDK provides the ability to write Intel SGX applications in Rust Programming Language
-
clock-page-replacement
clock page replacement algorithm implementation
-
static-rc
Compile-time reference counting
-
scope_gc
Scope GC
-
tarc
Transposable, type-erasable, and FFI-safe Arc
-
mockalloc
allow testing code which uses the global allocator
-
r-efi-alloc
UEFI Memory Allocator Integration
-
moving_gc_arena
Lightweight Garbage-collectable regions using indices and explicit roots
-
typed-slab
Typed wrapper for Slab
-
isoalloc
Security oriented allocator
-
zone-alloc
Containers for zone-based data allocation
-
block-grid
A quick, cache-conscious, tiled 2D array
-
esp-alloc
A heap allocator for Espressif devices
-
mini-enigma
#[no-std] (and no alloc) zero dependency implementation of the M3 Enigma
-
ra_ap_la-arena
index-based arena without deletion
-
pin-cell
A pin-safe cell
-
markable_reader
reader which can be marked in a position to be returned to after subsequent reads
-
memflow-native
System call based proxy-OS for memflow
-
gpu-alloc-vulkanalia
vulkanalia
backend forgpu-alloc
-
atomic-pool
Statically allocated pool providing a std-like Box
-
boxarray
Safe way to allocate and initialize nested arrays directly on the heap in Rust
-
rcu-clean
Smart pointers using RCU with Deref support
-
musli-allocator
Allocators for Müsli
-
vecstorage
Re-use the memory for vectors containing values with different lifetimes
-
allocator-suite
Allocator Suite for various allocation types
-
alloc-track
Track memory allocations by backtrace or originating thread
-
rust-cc
A cycle collector for Rust programs
-
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
. -
gdcm_conv
Grassroots DICOM Library wrapper
-
addr_of_enum
Get address of fields in enum item using stable Rust
-
dungeon-cell
Store (almost) any value as one type without dynamic memory
-
default-boxed
Helper trait to help create large struct on heap directly
-
vptr
Thin references to trait objects by embedding the virtual table pointer in the struct
-
cl-generic-vec
a vector implementation that can be used in
no_std
envioronments -
segvec
data structure for rust. Similar to Vec, but allocates memory in chunks of increasing size
-
box
The package provides a storage for unique static strings
-
kernel-alloc
Minimalistic Windows Kernel Allocator
-
wasmtime-slab
Uni-typed slab with a free list for use in Wasmtime
-
hipool
RUST Memory Pool
-
primordial
Low-level CPU primitives
-
alloc-metrics
A global allocator that tracks allocation metrics
-
timely_communication
Communication layer for timely dataflow
-
bacon_rajan_cc
A reference counted type with cycle collection
-
vectorscan-async
Wrapper for the vectorscan C++ regex library
-
ref_arena
An arena of reference counted objects
-
bdwgc-alloc
impl GlobalAlloc for bdwgc
-
shared_hashmap
A shared hashmap for use between processes, using shared memory
-
hugealloc
Hugepage-aware allocator
-
dotnetrawfilereader-sys
A low-level interface to a in-process dotnet runtime for Thermo Fisher's RawFileReader library
-
discard
trait which allows for intentionally leaking memory
-
lazy-heap
A lazy heap allocator for Rust based on
slab_allocator_rs
-
obj-pool
object arena
-
viaptr
An experimental library for packing complex types into pointer-sized fields
-
bufpool
Vec<u8> pool allocator
-
refuse-pool
A string interner utilizing the Refuse garbage collector
-
stackalloc
Safely allocate and manipulate arbitrarily-sized slices on the stack at runtime
-
rulloc
General purpose memory allocator
-
memuse
Traits for measuring dynamic memory usage of types
-
microstack
The simplest and the fastest implementation of a fixed-size stack on stack
-
loro-thunderdome
Fork of thunderdome: Fast arena allocator with compact generational indices
-
smallest-uint
Gets the smallest unsigned integer type that can represent a given value
-
shredder
Garbage collection as a library for Rust
-
defer-drop
Defer dropping large types to a background thread
-
ve
More compact Vec
-
generic-vec
a vector implementation that can be used in
no_std
envioronments -
pages-and-pages
Allows control over a manually allocated region of page-aligned memory with support for granular protection and locking of underlying pages
-
compact_arena
some types to allow indexed arenas with small memory footprint
-
aligned-buffer
A buffer with controllable alignment, that can be sealed and shared by reference count
-
drop_arena
A single-type allocator which permits dropping and reclaiming of individual elements
-
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;…
-
stak-device
Devices for Stak Scheme
-
poetic
parse and interpret poetic source code
-
fieldless_enum_tools
tools for enums without any fields
-
owned-pin
A wrapper that both owns and pins data in memory
-
swc_malloc
Configures the best memory allocator for each platforms
-
talloc
A fast, consistant, and flexible
no_std
-compatible allocator -
easy-pool
An easy way to reuse your objects without reallocating memory every time
-
cell-gc
A fun garbage collector for that virtual machine you're writing in Rust
-
pond
scoped and cached threadpools that keep a state
-
memur
Arena storage with bells and whistles
-
refpool
Efficient memory pool with reference counting
-
io_uring_mmap
internal crate
-
mmledger
A ledger for confidential computing (CC) shims for tracking memory management system calls
-
map_box
Map the value in a Box, re-using the allocation when possible
-
zerogc
Zero overhead tracing garbage collection for rust
-
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 -
flatty-io
Flat message transfer
-
numanji
Local-affinity first NUMA-aware allocator with optional fallback
-
rustc-arena-modified
rustc-arena ported to stable rust with additional features
-
hyperscan-sys
Hyperscan bindings for Rust with Multiple Pattern and Streaming Scan
-
viaduct
A duplex communication channel between a parent and child process, using unnamed pipes
-
phper-alloc
Alloc related items for phper crate
-
rc_bump
An arena for heterogeneous types and without lifetimes
-
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!
-
memory-cache-rs
local in-memory cache for Rust
-
trust_me
Just replace unsafe keyword to
safe!
macro. Always trust programmers. -
membank
A pool of reusable memory to prevent unnecessary deallocations
-
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 -
containers
Containers
-
memory_slice
A memory slice over potentialy uninitialized memory that allowes safe and borrow-checked, reads, writes and reinterpretation of data of any kind
-
staging-tracking-allocator
Tracking allocator to control the amount of memory consumed by the process
-
tracking-allocator
global allocator that provides hooks for tracking allocation events
-
kioku
A memory arena
-
rax
Rust wrapper for the ANSI C Radix Tree "rax" https://github.com/antirez/rax implementation used in Redis
-
rsgc
Concurrent GC library for Rust
-
dualhashkey
64-bit Dual-Hash-Key, strongly inspired by the Linux kernels dcache hashes
-
singlyton
Safe, single-threaded global state in Rust
-
bsr
Tracing garbage collector for Amsel
-
pipe
Synchronous Read/Write memory pipe
-
seckey
Use
memsec
protected secret memory -
rebound
Full runtime reflection for Rust, with lifetime safety
-
xalloc
Suballocators for external memory (e.g., Vulkan device memory)
-
range-action-map
A range tree, offering interval operation in kernel memory management, and deliver ACTION to actual VmArea。一个区间树结构,用于提供 mmap / munmap / mprotect 时对内核中区间的操作;
-
alloc-compose
Composable allocator structures for plugging together more powerful allocators
-
slitter
A C- and Rust-callable slab allocator with a focus on safety
-
context-allocator
-
wrc
A thread-safe weighted reference counting smart-pointer for Rust
-
hybrid-rc
Thread-safe hybrid reference counting pointers
-
alloca
Mostly safe wrapper for alloca
-
stupidalloc
A stupid memory allocator that memory-maps allocations to files
-
rcsv
A non-allocating RFC 4180 compliant CSV parser
-
lockedbox
A Box-like type that prevents paging its contents to disk
-
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 -
memory_units
Safe conversions between units of memory
-
arena_system
An arena allocator which uses handles for accessing elements
-
dudy-malloc
Easy way to configure best memory allocation for each platforms
-
maskerad_memory_allocators
custom allocators, for memory fragmentation prevention
-
haz-alloc
A general-purpose allocator written in Rust
-
freelist
datastructure implementation providing unsafe access to backing storage
-
rt-own
runtime ownership: owner, sharer and holder
-
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
-
malloc_buf
Structs for handling malloc'd memory passed to Rust
-
tikv-jemalloc-ctl
A safe wrapper over jemalloc's control and introspection APIs
-
recycle-box
A pointer type for heap-allocated objects which heap storage can be re-used, with Pin support
-
win-lookaside
Windows Lookaside Kernel Allocator
-
nstd_core
NSTD core crate
-
inlined
Types for inlining small collections for avoiding unnecessary heap allocations
-
sensitive
Memory allocator for sensitive information
-
foundation-arena
Heapless arena allocator
-
allocators
composable memory allocators and utilities for creating more
-
tcmalloc2
Rust FFI bindings to tcmalloc
-
onsen
Memory pool
-
flipperzero-rt
Flipper Zero
-
leak-detect-allocator
Memory leak detector for nightly toolchain
-
lunatic-cached-process
Cached process lookups with lunatic
-
ra-ap-rustc_arena
Automatically published version of the package
rustc_arena
in the rust-lang/rust repository from commit 5113ed28ea1451a13eae3a05dca0dbabfd56f587 The publishing script for this crate lives at:… -
init_array
Initialize arrays itemwise
-
gen-vec
Vector indexed with generational indices
-
cesium-allocator
Allocator pool for managing sets of allocators
-
std-shims
A series of std shims to make alloc more feasible
-
light_arena
A lightweight, placement based memory arena for types which are Sized + Copy. This crate requires nightly.
-
unbytes
Panic-free reading of bytes
-
caja
Adds the Caja struct which is basically Box<[T;n]>, but n can be not known at compile-time
-
zapalloc
zippy allocator program
-
rslab
A slab allocator for Rust
-
heterovec
In-place vector of dynamically sized type
-
boxext
Extensions to the
Box
type -
elise
A concurrent GC
-
ma_proper
A securely overwriting memory allocator
-
netbuf
growable, contiguous buffer object with right assumptions and interface. Tuned for using it for network buffers.
-
pool
reusable values
-
syncpool
A thread-friendly library for recycle of heavy and heap-based objects to reduce allocation and memory pressure
-
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…
-
indexed
Convenient allocator for index-linked data structures
-
refbox
A smart pointer with a single owner and many weak references
-
gpu-alloc-ash
ash
backend forgpu-alloc
-
dairy
A more compact, user friendly clone-on-write smart pointer
-
scoped-arena
Arena allocator with optional scopes
-
ferris-gc
Flexible implementation of garbage collector for Rust
-
hwlocality-sys
Low-level bindings for the hwloc hardware locality library
-
shuffling-allocator
A shuffling allocator, randomizing heap object locations; useful for avoiding accidental cache locality during benchmarking, which can obscure performance evaluation
-
typed-arena-nomut
The arena, a fast but limited type of allocator
-
NEXMemory
Easily read, and write into a process's memory
-
arcslab
Slab, but with reference counted items
-
josephine
using JavaScript to safely manage the lifetimes of Rust data
-
aligned-buffer-pool
A buffer-pool with controllable alignment
-
card10-alloc
Dynamic memory allocation for card10 l0dables
-
malloc-array
libc heap array allocator
-
opool
High-performance, lock-free local and concurrent object pool with automated allocation, cleanup, and verification
-
cache-size
finding your L1/L2/L3 cache sizes
-
derivable-object-pool
A thread-safe derivable object pool collection with automatic reusage of objects
-
buf-ref-reader
Faster, growable buffering reader for when there's little to no need to modify data, nor to keep it alive past next read
-
idcontain
Generational (or tagged) ID-based containers
-
forgotten
globally and safely persist a value, implemented with ManuallyDrop
-
broom
An ergonomic tracing garbage collector that supports mark 'n sweep garbage collection
-
str-intern
string interner
-
vec-tree
A safe tree using an arena allocator that allows deletion without suffering from the ABA problem by using generational indices
-
bumpalo-herd
Support for bumpalo in scoped threads & rayon
-
http-multipart
multipart for http crate type
-
jrsonnet-gc
Tracing garbage collector plugin for Rust
-
dynamic-arena
Dynamically typed arenas, supporting any
Sized
type -
diskallocator
For really big vectors: allocate on disk
-
aliasable_deref_trait
Marker trait for types that deref to an address that is aliasable when coerced to a raw pointer
-
speedy_refs
A collection of simple and fast and useful smart pointers
-
dummy-alloc
Global allocator that fails all allocations
-
maybe-std
Helper crate for writing rust libraries with an optional dependency on the standard library
-
comprakt/lowering
A MiniJava compiler written in Rust
-
index-pool
A pool which manages allocation of unique indices. Acts like a psuedo-memory allocator.
-
polymock
A thread-safe arena bytes allocator
-
gharial
test tool for program to manipulate memory directly
-
alloc_buddy_simple
drop-in replacement allocator for Rust running on bare metal (no_std)
-
stak-primitive
Stak primitives
-
async-alloc-counter
measures max allocations in a future invocation
-
vecshard
Split Vecs in constant time
-
sodium-alloc
Allocator type that allocates memory using Sodium's secure memory utilities
-
shmem-ipc
Untrusted IPC with maximum performance and minimum latency on Linux
-
pi_world_macros
ecs world macros
-
memory-layout
explicit struct layouts
-
alloc-fmt
Formatting utilities safe for use in an allocator
-
buddy-system
buddy system allocator for real-time usecases
-
bogo-alloc
An allocator that makes C/C++ developers feel right at home
-
zc
Self-referential zero-copy structure
-
recycler
A small Rust library for recycling types containing owned memory
-
emheap
Tiny memory manager for embedded system
-
pkey_mprotect
Typed
pkey_mprotect
wrapper -
function_string_builder
A string builder that takes a user-provided function
-
nalloc
An allocator wrapper that can be turned on and off
-
loca
memory allocation
-
conc
Hazard-pointer-based concurrent memory reclamation
-
interloc
Middleware allocator for keeping track of memory usage
-
zallocators
Bringing Zig like allocators to Rust
-
mos-alloc
allocator for mos architecture
-
hugepage-rs
wrapped allocator for linux hugepage
-
acid_alloc
Bare-metal allocators
-
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.
-
vec_cell
A Vec with interior mutability and dynamically checked borrow rules which allows to take disjoint mutable references to its elements
-
contain
defining/extending lifetimes
-
stadium
A allocated chunk of memory populated with a fixed set of types
-
mvcc_cell
Software-transactional memory for Rust
-
rb-allocator
Memorry allocator for Ruby extensions
-
reclaim
trait-based abstract interface for memory reclamation
-
mimalloc-rust-sys
mimalloc_rust hand writted sys binding
-
ipfs-embed-sqlite
small embeddable ipfs implementation
-
customizable-buddy
A new buddy allocator that allows custom buddy finding algorithm
-
armory
a fast pool for storing lots of objects of one type without fragmenting
-
crndm
Persistent Programming Library
-
alloc-facade
Facade for std-or-alloc imports
-
flatbuffers
Official FlatBuffers Rust runtime library
-
shm_open_anonymous
Anonymous POSIX shared memory objects
-
fallible_alloc
Fallible rust stable std collections allocations
-
mmap-rs-with-map-from-existing
A temporary fork of mmap-rs with support for creating pages from raw memory. Will be deprecated in near future.
-
esp-idf-alloc
An allocator for the ESP32 based on the ESP-IDF
-
stylish-style
Internal implementation details of
stylish-core
-
mut_guard
Run a function after some data was mutably borrowed
-
heaparray
Flexible support for dynamically-sized types, using heap-allocated array of structs
-
obstack
A fast, stack-based allocator, usable for any object
-
boxify
Place your values directly on the heap without creating them on the stack first
-
bulletproof
memory access
-
intrusive_splay_tree
An intrusive splay tree implementation that is no-std compatible and free from allocation and moves
-
scoped-gc
Derive plugin for the
scoped-gc
crate -
heapnotize
A smart pointer type for memory allocation on the stack
-
tcmalloc
Drop-in global allocator using tcmalloc
-
clip
A command line parser that doesn't use std or alloc!
-
mimalloc2-rust-sys
fork of the mimalloc_rust hand writted sys binding
-
bookcase_alloc
An arena allocator
-
falloc
fast allocator
-
transvec
safely transmute Vecs
-
gc_api
Generic abstractions for a multithreaded garbage collector
-
gc-sequence
a system for encoding safe points for computations running on gc-arena
-
dst-init
provide ways to emplace dynamic sized type
-
wgpu-conveyor
Buffer belt abstraction for wgpu
-
gpu-descriptor-types
Core types of gpu-descriptor crate
-
zalloc
A global allocator wrapper zeroizing memory on dealloc
-
bra
Buffered random access to sequential data sources
-
fpool
Non-leased object-pooling
-
memflow-ffi
C bindings for the memflow physical memory introspection framework
-
owned-alloc
help reducing manual memory management errors
-
lines
Utililities for iterating readers efficiently line-by-line
-
slab_typesafe
A wrapper for Slab that provides type-safe tokens instead of usize
-
rusty_brainfck
A Small, Slightly Broken BrainFuck Interpreter, Available in both no-std contexts & std contexts
-
libisoalloc-sys
Security oriented allocator
-
wasm-tracing-allocator
A global allocator for Wasm that traces allocations and deallocations for debugging purposes
-
arc-atomic-ref
small library that wraps arc-swap in Arc<T> so the atomic reference can be shared widely between many tasks/threads
-
secrecy
Wrapper types and traits for secret management which help ensure they aren't accidentally copied, logged, or otherwise exposed (as much as possible), and also ensure secrets are securely wiped from memory when dropped
-
polymorph-allocator
memory allocator
-
hyperscan-async
Wrapper for the hyperscan C++ regex library
-
divvy-core
Composable allocators for Rust
-
realbox
The real copyless box
-
gc_plugin
Garbage collector plugin for rust-gc
-
type-handle
Regular and reference-counted type handles
-
impl-macros
impl macros
-
alloc-madvise
A memory allocator for creating large aligned chunks of memory
-
beton
A tree-backed slab allocator
-
gomicollector
mark-sweep garbage collector
-
mmap_buffer
(Mostly) safe wrapper for a memory-backed buffer
-
hel-random
RNG with weak entropy source (alloc) and xoshiro256++ hashing
-
darc
Dynamically-atomic reference-counting pointers (proof of concept)
-
alloc-cortex-m
A heap allocator for Cortex-M processors
-
executable_memory
executable memory for windows and unix
-
splitrc
Thread-Safe Split Reference Counts
-
yaap
A custom allocator facility playground
-
rendy-memory
Rendy's memory manager
-
mmapio
Cross-platform Rust API for memory-mapped file IO
-
zeroize_alloc
A zeroizing allocator wrapper
-
stable-alloc-shim
Stable shims for the Allocator API
-
ezmem
Very basic library that provides simple functions for external memory hacking on Windows
-
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. -
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
-
same-alloc
Reuse an allocated buffer for data with different types
-
shared_arena
A thread-safe & efficient memory pool
-
craft-eraser
A set of simple type-erased box primitives
-
buddy-allocator
A buddy allocator implementation supporting alloc-wg
-
easy_mmap
Strongly typed memory mapped files that allow for easy manipulation of large amounts of data
-
wrapper
A trait for types that wrap other types
-
rc_collections
Shared, reference-counted, copy-on-write, single-pointer buffers
-
lock_free_buddy_allocator
Scalable lock-free buddy system allocator
-
movable
A structure whose internal content can be moved out immutably
-
dif
Device Information File, a library for reading .dif files into a Rust struct
-
simple_arena
arena allocator for Rust
-
stylish-core
The semver-stable subset of
stylish
-
simt_hip_sys
part of simt. hip driver api bindings
-
redox-buffer-pool
A buffer pool library for Redox, featuring a general-purpose 32-bit allocator
-
memalloc
Memory allocation in stable rust
-
poggers
memory lib
-
gcmodule
Cyclic garbage collection inspired by CPython's gc implementation
-
leak_slice
leak &mut [T] in favor of NonNull<[T]>
-
trickster
user-friendly linux memory hacking library
-
cfixed-string
Pass Rust strings to C with potentially not needing heap allocation
-
object-alloc
An object allocator trait for Rust
-
gladiator
A concurrent, modular and small garbage collector
-
libcre
WIP
-
default_allocator
default (userspace) memory allocator
-
crudite
A JSON CRDT
-
uni_rc_lock
trait which may represent either Rc<RefCell<T>> or Arc<RwLock<T>>
-
without-alloc
Replacements for
Box
,Rc
,Vec
, .. withoutalloc
-
faux_alloc
A fake 'allocator'
-
tux-owned-alloc
help reducing manual memory management errors
-
columnation-master
An experimental columnar arena
-
ralloc_shim
The binding layer for the rallc memory allocator
-
cable
A cable(pointer) with a hook(header at address) at the end and a sized payload(array)
-
simple_games
games
-
alloc_uefi
Allocator for a UEFI environment
-
fixed_free_list
A fixed-size free-list with optional key lifetime safety and macroless unique typing
-
pinvec
Growable vector-like structure which never moves its contents
-
swifer
Garbage collection for Rust-based runtimes
-
alleakator
leaking global allocator
-
mem_64
I can't remember the last time I forgot something!
-
slice-arena
Store lots of tiny slices with low overhead, in contiguous blocks of memory
-
zerogc-simple
Lightweight mark/sweep collector for zerogc
-
const-alloc
Allocate dynamic memory at compile time
-
shared-memory-allocator
An extremely unsafe experiment in writing a custom allocator to use linux shared memory
-
memoria
Memory allocation tracker. A bad memory profiler for production.
-
forkheap
An allocator suitable for sharing heaps between forked processes on Linux
-
nstd_collections
NSTD collections crate
-
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.
-
shared_memory
A user friendly crate that allows you to share memory between processes
-
limit-alloc
A custom allocator that allows to limit the available memory
-
tinyrand-alloc
Extensions for using tinyrand with alloc
-
adrop
fast dedicated thread drop
-
alloc_buddy_simple2
drop-in replacement allocator for Rust running on bare metal (no_std)
-
slot-arena
Compacted memory allocation using opaque references
-
arcon_allocator
Allocator for Arcon
-
alignas
Wrapper to specify object alignment generically
-
anycast
Allows upcasting to Any
-
storages
Storage backends for collections
-
type_erased_vec
A type erased Vec
-
cgc-single-threaded
Compacting garbage collector
-
tralloc
trace allocations and deallocations
-
efw
Framework for writing UEFI applications
-
mappable-rc
mappable reference counted types
-
daktylos
memory-counting allocator
-
alloc-safe
Safe memory allocation, no panic!
-
newlib-alloc
Global allocator for Rust no_std projects on newlib targets
-
haque
An abomination for messing with memory
-
boxing-arena
reuse of Box allocation
-
nanny
Safe native abstractions for Node
-
hirpdag_hashconsing
Various hashconsing implementations with a common interface
-
remem
Thread-safe object reuse
-
scudo-sys
C/FFI Bindings for the Scudo Hardened Allocator
-
dbs-address-space
address space manager for virtual machines
-
silly-alloc
A collection of very basic allocators
-
trove
arena allocator
-
nvml
A mid-level wrapper around PMDK (the persistent memory development kit), formely NVML
-
closure_attr
An attribute macro to simplify closure captures
-
rustbuddy
buddy memory allocation algorithm
-
alloc_system
NO-STD,for Cortex-M based systems,simply retarget alloc_system to malloc/realloc/free
-
basic_allocator
A very simple global allocator written in pure Rust
-
mmu
Memory management unit abstractions
-
compact
Store objects containing dynamic fields either compactly in consecutive memory or using traditional heap pointers
-
maskerad_stack_allocator
Stack-based allocators, for contiguous allocation and memory fragmentation prevention
-
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
-
mmap-safe
A safe wrapper around file-backed memory maps
-
walloc
Malloc's Wario - allocates unusable, arbitrarily-sized blocks of memory on-command. Great for, uh, testing purposes?
-
rs-mem
minimal memory helpers (no dependency on std)
-
alloc_counter
Count allocations, reallocations, deallocations. Allow, deny, or forbid allocations on an expression or function basis.
-
mstak
Minimal Stak Scheme interpreter
-
bh_alloc
A fuzzer friendly bump pointer allocator
-
stubit
stupid bit library
-
cesium-libmimalloc-sys
FFI wrapper for Microsoft's mimalloc allocator
-
ptr_cell
Thread-safe cell based on atomic pointers to externally stored data
-
hv-stampede
Bumpalo-based arena allocation utilities for Heavy
-
gg-alloc
A custom allocator that only returns pointers above 2G
-
stor
Helpers for genericising over storage types
-
malloc_freq
Malloc frequency profiler
-
bumpslab
A slab allocator with stable references
-
ringu
Thread-safe no_std ring buffer
-
vitallocator
allocator interface to the PS Vita kernel allocator
-
heaptrack
Easily track heap usage with this allocator wrapper
-
memflow-win32-defs
static offset templates for
-
neocortex
Shared memory crate designed for simplicity, safety, and extensibility
-
haz-alloc-core
A general-purpose allocator written in Rust, without system symbols
-
study-example
a study example
-
rpmalloc-sys
Unsafe FFI bindings to rpmalloc C library
-
calendrical_calculations
Calendrical calculations in Rust
-
zuffer
A mmap file based buffer implementation
-
dybs
An experiment in dynamic single-owner, multiple-borrow smart pointers
-
bump-allocator
A high performance `#[global_allocator] implementation using the bump-pointer allocation algorithm
-
redox_uefi_alloc
UEFI allocation support
-
grit-data-prison
providing the struct Prison<T>, a Generational Arena that allows full interior mutability to each and every element
-
fixed_heap
A fixed-size heap structure with manually provided stateful comparison function
-
jenga
A stack based allocator
-
memacc
Memory access functions
-
vec-arena
object arena
-
possibly_uninit
Traits and types helping with using uninitialized memory safely
-
effective-limits
Estimate effective resource limits for a process e.g. how much RAM is available for use.
-
sharedptr
Rust Sharedptr
-
drop_tracer
memory leak detector
-
dy_tlsf
TLSF (Two-level segmented fit) global allocator
-
planus
alternative compiler for flatbuffers, an efficient cross platform serialization library
-
empty-box
Allows for
Box
s to have their values moved out and replaced with new values, while reusing the same allocation -
auto-cc
A small utility to perform automatic cycle collections with bacon_rajan_cc
-
accounting-allocator
A global memory allocator wrapper which counts allocated and deallocated bytes
-
shared_slab
Data structure with shared insertion
-
scoped_allocator
A scoped linear allocator
-
flatbuffers-owned
that enables a more flexible usage of FlatBuffers
-
mimallocate-sys
Beta bindings to the mimalloc allocator
-
simple-slab
Fast and lightweight Slab Allocator
-
drop-bin
Defer running expensive destructors until later
-
passable
Pass a pointer around
-
mimalloc2
-
nstd_alloc
NSTD memory allocation crate
-
alloc-chibios
Allocator for ChibiOS 2.6
-
cev
An expandable data array used to add data to the beginning of the array
-
alloc-traits
Traits to replace or supplement the alloc module in no_std
-
magic-buffer
a virtual ring buffer implementation that magically wraps around itself
-
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
… -
block_allocator
Thread-safe, fixed-size allocator that serves re-usable blocks
-
dumpalo
A minimalistic global bump allocator
-
generic_singleton
allowing for generic singleton patterns
-
elise-gc
Raw GC Für Elise
-
slimbox
A thin pointer type for heap allocation
-
vulkan-malloc
A general purpose device memory allocator for Vulkan
-
linear-malloc
An ultra simple single-threaded linear allocator
-
rattish
Cast between trait objects
-
chromium
add some stability to your metal!
-
compact_str
A memory efficient string type that transparently stores strings on the stack, when possible
-
poule
A pool of reusable values
-
mimallocator
allocator backed by mimalloc
-
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…
-
guard-trait
Contains fundamental wrappers for pointer types that can safely be shared in memory-sharing completion-based I/O interfaces
-
dodgems
fast bump allocator library
-
aligned-cmov
Fast constant-time conditional moves of aligned bytes
-
eko-gc
Scoped garbage collector
-
elsa
Append-only collections for Rust where borrows to entries can outlive insertions
-
outsource-heap
Shoving your heap in random places
-
aligned_box
Allocate heap memory with user-specified alignment
-
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 -
Pointers_Study_With_Core_Concepts
A study on rust smart pointers, with their essential concepts documented
-
toast-cell
Zero-cost type-branded cell with no runtime checks
-
open-transaction-pool
Open transaction pool is an extensible OTX solution based on memory pool
-
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
. -
slab_32
Forked from the main slab crate as an experiment. Don't use.
-
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…
-
flatty-base
Flatty traits and primitives
-
rccell
A convenient wrapper for Rc<RefCell<T>>
-
seize
Fast, efficient, and robust memory reclamation for concurrent data structures
-
squash
More space efficient encoding of owned heap-allocated slices
-
aligned
A newtype with alignment of at least
A
bytes -
veryfast
Fast Rust and other tools for game development
-
slot
type-shaped chunk of memory
-
marching-buffer
Marching buffer with resets
-
nano_arena
A tiny arena allocator that uses atomics
-
zerogc-context
Handles the context of a zerogc collector
-
dreck
A safe tracing garbage collection library with minimal safety bookkeeping
-
associated_list
An associated list, for cases when the key implements neither Hash nor Ord
-
slice-pool2
using a slice as a memory pool
-
obstacle
Integrate the object_store crate with mmap based consumers like Polars
-
ligature-in-memory
Ligature that uses persistant data structures to store Ligature's data model in memory
-
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
-
crndm_derive
Persistent Programming Library Procedural Macros
-
hwlocality
Idiomatic Rust bindings for the hwloc hardware locality library
-
jemalloc_pprof
Convert jemalloc heap profiles to pprof to understand memory usage, fix memory leaks, and fix OOM Kills
-
maligned
A memory alignment library
-
ring-alloc
Specialized allocator for short-living objects
-
shared_memory_extended
A user friendly crate that allows you to share memory between processes
-
lockfree-object-pool
A thread-safe object pool collection with automatic return and attach/detach semantics
-
fallacy-box
fallible Box
-
aren_alloc
allocator for small copyable objects inspired by object-pools
-
mmslice
-
generational-arena
A safe arena allocator that supports deletion without suffering from the ABA problem by using generational indices
-
lib_malloc_freq
Use malloc frequency profiler (malloc_freq) via LD_PRELOAD
-
managed-heap
virtual heap, inspired by VMs like the JVM. Currently supports automatic garbage collection, but no defragmentation
-
bytes-text
Reference-counted UTF-8 text
-
mmap-alloc
allocator backed by memory mappings
-
zone-alloc-strong-handle-derive
Procedural macro for zone-alloc StrongHandle types
-
weak-alloc
A custom allocator that can be given ownership of data, returning a WeakRef
-
quickdry
Bump-pointer arena allocator
-
gpu-alloc-types
Core types of gpu-alloc crate
-
copy_arena
Arena allocator for types implementing Copy
-
mmap-allocator
struct implementing trait std::alloc::GlobalAlloc for unix
-
untyped-arena
Arena allocator implementation that is safe and untyped with minimal complexity
-
tracing-allocator
track allocations and deallocations
-
fortify
convenient way to bundle owned data with a borrowing type
-
virtual-memory
allocating RWX memory on Unix and Windows
-
super-slab
Pre-allocated storage for a uniform data type, based upon slab
-
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.
-
ruyi-slab
An object based allocator
-
bump-into
a no_std bump allocator sourcing space from a user-provided slice
-
fallacy-arc
fallible Arc
-
bdwgc-sys
Boehm-Demers-Weiser garbage collector bindings for Rust
-
bip
bip (
Box
in place) provides a fully generic in-placemap
for theBox
type, taking care to be panic-safe and not leak memory -
pgc
Garbage collector
-
slice-pool
using a slice as a memory pool
-
densemap
A collection data structure that is permanently accessible by unique keys and fast iterable
-
memflow-kcore
coredump (/proc/kcore focused) connector for memflow physical memory introspection framework
-
chainlink
An arena-backed doubly linked list in 100% safe Rust
-
owned-pin-macros
A wrapper that both owns and pins data in memory
-
hazard
pointers
-
warlock
Arena allocation optimized collections
-
memconstruct
Create values directly anywhere in memory. Create values directly on the heap.
-
alloc_hoard
use Hoard as rust's allocator