-
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
-
slotmap
data structure
-
sharded-slab
A lock-free concurrent slab
-
jemallocator
allocator backed by jemalloc
-
stacker
A stack growth library useful when implementing deeply recursive algorithms that may accidentally blow the stack
-
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
-
v8
Rust bindings to V8
-
typed-arena
The arena, a fast but limited type of allocator
-
elsa
Append-only collections for Rust where borrows to entries can outlive insertions
-
region
Cross-platform virtual memory API
-
static_init
Safe mutable static and non const static initialization, and code execution at program startup/exit
-
allocator-api2
Mirror of Rust's allocator API
-
archery
Abstract over the atomicity of reference-counting pointers
-
talc
A fast and flexible allocator for no_std and WebAssembly
-
uninit
A collection of tools for a safer usage of uninitialized memory
-
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
-
tendril
Compact buffer/string type for zero-copy parsing
-
embedded-alloc
A heap allocator for embedded systems
-
mem_dbg
Traits and associated procedural macros to display recursively the layout and memory usage of a value
-
object-pool
A thread-safe object pool with automatic return and attach/detach semantics
-
boa_gc
Garbage collector for the Boa JavaScript engine
-
stats_alloc
An allocator wrapper that allows for instrumenting global allocators
-
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
-
memflow
core components of the memflow physical memory introspection framework
-
rctree
A 'DOM-like' tree implemented using reference counting
-
dyn-stack
Dynamic stack wrapper for unsized allocations
-
vm-memory
Safe abstractions for accessing the VM physical memory
-
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
-
bufsize
bytes::BufMut implementation to count buffer size
-
ghost-cell
Compile-time zero-cost borrow-checking of aliased references
-
reblessive
A small runtime for running deeply nested recursive functions
-
arcshift
Replacement for std::sync::Arc<T> that supports updating the value, with some caveats
-
static-alloc
A bump allocator on static memory for the alloc-traits crate
-
bump-scope
A fast bump allocator that supports allocation scopes / checkpoints. Aka an arena for values of arbitrary types.
-
census
Keeps an inventory of living objects
-
mmtk
framework for the design and implementation of high-performance and portable memory managers
-
gpu-alloc
agnostic memory allocator for Vulkan like APIs
-
jrsonnet-gcmodule
Cyclic garbage collection inspired by CPython's gc implementation
-
cluFullTransmute
A more complete and extended version of data type conversion without constraint checks
-
pi_slotmap
Slotmap data structure
-
tikv-jemalloc-sys
Rust FFI bindings to jemalloc
-
lgalloc
Large object allocator
-
dlmalloc
port of the dlmalloc allocator
-
mmap-rs
A cross-platform and safe Rust API to create and manage memory mappings in the virtual address space of the calling process
-
jemalloc-sys
Rust FFI bindings to jemalloc
-
get-size2
Determine the size in bytes an object occupies inside RAM
-
mini-alloc
Very simple global allocator
-
slotmapd
orlp/slotmap fork where serialization cycle doesn't change observable behavior
-
range-alloc
Generic range allocator
-
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!
-
peak_alloc
An allocator to keep track of (the max) allocated memory
-
tor-memquota
Memory use tracking and quota utilities, used by Tor software
-
dumpster
A concurrent cycle-tracking garbage collector
-
inplace_it
Place small arrays on the stack with a low-cost!
-
lol_alloc
laughably simple wasm global_allocator
-
rarena-allocator
Lock-free ARENA allocator which can be used in both memory and on-disk
-
kamo
assist in the creation of an interpreter or compiler and its associated runtime
-
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
-
qcell
Statically-checked alternatives to RefCell and RwLock
-
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_vm_io
I/O access to virtual memory contents of processes
-
memsec
libsodium/utils
-
memsafe
A Secure cross-platform Rust library for securely wrapping data in memory
-
secmem-alloc
Custom allocators for secret memory
-
checkers
A sanity checker for global allocations
-
mimalloc-safe
Performance and security oriented drop-in allocator
-
buddy-alloc
memory allocator for no-std Rust, used for embedded environments
-
rust-cc
A cycle collector for Rust programs
-
poggers
memory lib
-
stats_alloc_helper
A test helper to measure memory allocations
-
rabuf
randome access buffer for io
-
stackalloc
Safely allocate and manipulate arbitrarily-sized slices on the stack at runtime
-
flexstr
A flexible, simple to use, immutable, clone-efficient
String
replacement for Rust -
lightweight-mmap
memory mapping helpers for Rust, with minimal amount of code generated
-
pared
Projected reference counted pointers
-
offset-allocator
A port of Sebastian Aaltonen’s
OffsetAllocator
to Rust -
ialloc
Allocator interface traits
-
refuse
incremental, multi-threaded garbage collector
-
gc
Tracing garbage collector plugin for Rust
-
stalloc
fast first-fit memory allocator that you can use to quickly speed up your Rust programs
-
vptr
Thin references to trait objects by embedding the virtual table pointer in the struct
-
shellexec
Cross-platform shellcode executor in rwx memory
-
rustix-dlmalloc
port of the dlmalloc allocator, ported to rustix
-
reference-counted-singleton
Reference-counted singleton whose protected data can be recreated as needed
-
triple_arena
Regular, Chain, Surjection, and Ordered Arenas supporting non-Clone types, deletion, and more
-
weak-table
Weak hash maps and sets
-
wdk-alloc
alloc support for binaries compiled with the Windows Development Kit (WDK)
-
thunderdome
Fast arena allocator with compact generational indices
-
process-image
Zero-cost abstraction for convenient access to process image tags
-
ra_ap_la-arena
index-based arena without deletion
-
graph-api-simplegraph
efficient graph implementation for the graph-api ecosystem with support for indexing
-
picoalloc
small and fast memory allocator
-
slabbin
An efficient slab allocator with stable addresses
-
statusinfo2
print various metrics of your system
-
lifeguard
An object pool manager in Rust
-
ringal
Efficient ring allocator for short-lived buffers
-
id-arena
id-based arena
-
libcanopy
Canopy is a lightweight tree-based data structure for Rust, optimized for reference management using Rc and Weak pointers
-
dyn_size_of
report approximate amount of memory consumed by variables, including the memory allocated on heap
-
box_raw_ptr
providing safe wrappers for working with raw pointer. These raw pointers are
*const T
and*mut T
. These wrappers ensure memory safety by encapsulating the raw pointers in safe abstractions… -
haphazard
Dynamic memory management for lock-free data structures using hazard pointers
-
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
-
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.
-
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
-
recycle_vec
method for Vec to recycle it's backing allocation for use with another Vec of different type
-
intrusive_splay_tree
An intrusive splay tree implementation that is no-std compatible and free from allocation and moves
-
second-stack
A fast allocator for short-lived slices and large values
-
mapped-file
Construct a memory mapping over any file object
-
alloc_geiger
allocator which makes sound when active, like a Geiger counter
-
generational-box
A box backed by a generational runtime
-
boxarray
Safe way to allocate and initialize nested arrays directly on the heap in Rust
-
portable-dlmalloc
Portable Fork of Doug Lea's malloc Implementation
-
free-list
A free-list-based page/frame allocator
-
rpmalloc
Cross-platform global memory allocator using rpmalloc
-
heap-array
variable length array, with its main benefit over
Vec
is taking up less space -
bitmap-allocator
Bit allocator based on segment tree algorithm
-
trc
A faster Arc
-
mimalloc-rspack
Performance and security oriented drop-in allocator
-
deepsize
measuring the total size of object on the stack and heap
-
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
-
dynamic-provider
Dynamically request arbitrarily-typed values from providers with borrowed data
-
sensitive
Memory allocator for sensitive information
-
alloc-track
Track memory allocations by backtrace or originating thread
-
presser
help you copy things into raw buffers without invoking spooky action at a distance (undefined behavior)
-
pin-weak
Small wrapper around an equivalent of Pin<Weak<T>>
-
aligned-buffer
A buffer with controllable alignment, that can be sealed and shared by reference count
-
good_memory_allocator
A blazingly fast and memory efficient memory allocator to be used in
no_std
environments -
blink-alloc
Fast, concurrent, arena-based allocator with drop support
-
static_interner
Similar to
internment
crate, but with interface and performance tweaks -
token-cell
A more convenient GhostCell
-
re_memory
Run-time memory tracking and profiling
-
vm-allocator
Helpers for allocating resources needed during the lifetime of a VM
-
emballoc
but reliable memory allocator for embedded Rust and #![no_std]
-
zeroizing-alloc
Minimal allocator wrapper to zero-on-free data for security
-
downstream
efficient, constant-space implementations of stream curation algorithms
-
swc_malloc
Configures the best memory allocator for each platforms
-
ferroc
A fast & lock-free memory allocator library
-
slimmer_box
A packed alternative to Box<T> whose 'fat' pointer is 'slimmer'
-
alloc-from-pool
Single-threaded object pool implementation
-
corundum
Persistent Programming Library
-
compact_arena
some types to allow indexed arenas with small memory footprint
-
bufio
std::io::Write for your potentially uninitialized slice of memory
-
cache-size
finding your L1/L2/L3 cache sizes
-
jemalloc-ctl
A safe wrapper over jemalloc's control and introspection APIs
-
ndata
Thread-safe, self-owned JSON-like data with manual garbage collection
-
moveref
Types and traits for safe C++ style placement initialization and move semantics
-
mockalloc
allow testing code which uses the global allocator
-
ocaml-boxroot-sys
Boxroot for OCaml: fast movable GC roots (C API)
-
ctoption
A compile-time option whose discriminant is elevated to compile time
-
graph-api-lib
Core library for the graph-api ecosystem - a flexible, type-safe API for working with in-memory graphs in Rust
-
baby-mimalloc
Mimalloc implemented in Rust (not a binding to the C library) with only basic features
-
alloc-madvise
A memory allocator for creating large aligned chunks of memory
-
shrink-to-fit
Recursively calls
shrink_to_fit
on all elements of the container -
aiscript-arena
safe, incrementally garbage collected arenas
-
pin-cell
A pin-safe cell
-
lock_free_buddy_allocator
Scalable lock-free buddy system allocator
-
maybe-owned
MaybeOwned
(andMaybeOwnedMut
) type similar to std’sCow
but it implementsFrom<T>
andFrom<&'a T>
and does not requireToOwned
-
pi_key_alloter
lock free Key(idx:u32, version:u32) alloter
-
malloc-info
A safe wrapper around glibc's malloc_info
-
malloced
A malloc-ed box pointer type
-
shush-rs
designed to manage sensitive data securely by leveraging memory protection mechanisms
-
virtual-buffer
A cross-platform library for dealing with buffers backed by raw virtual memory
-
hzrd
Shared mutability containers based on hazard pointers
-
stupidalloc
A stupid memory allocator that memory-maps allocations to files
-
mmap-wrapper
wrapper for the memmap2 crate to cast mmap backed pointers to structs
-
quickdry
Bump-pointer arena allocator
-
blur_lang
Language for JavaScript optimization
-
flex-alloc
Data structures with extra flexible storage
-
orderly-allocator
A super-simple fast soft-realtime allocator for managing an external pool of memory
-
flatbuffers-owned
that enables a more flexible usage of FlatBuffers
-
ordered-pool-allocator
A fast and compact pool allocator with block sorting support
-
microchassis
A chassis to increase observability of services and tools
-
grit-data-prison
providing the struct Prison<T>, a Generational Arena that allows full interior mutability to each and every element
-
string-alloc
Allocator-aware no-std-compatible String implementation
-
heapbuf
Fixed size heap buffer with optional custom alignment, ref counting and custom destructor logic
-
refpool
Efficient memory pool with reference counting
-
intern-arc
An interner that deallocates unused values
-
relib_module
relib is a framework for reloadable dynamic libraries
-
mut-rc
Temporarily mutable
Rc<T>
that decays intoRc<T>
-
typed-slab
Typed wrapper for Slab
-
spaghetto
making double-ended data structures, like an always-contigouous double-ended queue (deque) and double-ended string
-
sandpit
A concurrent garbage collected arena
-
fixstr
fixing strings
-
hardened_malloc-rs
hardened_malloc rust wrapper
-
gpu-alloc-vulkanalia
vulkanalia
backend forgpu-alloc
-
realloc
A re-implementation of various ::alloc features
-
recycle-box
A pointer type for heap-allocated objects which heap storage can be re-used, with Pin support
-
alloc_counter
Count allocations, reallocations, deallocations. Allow, deny, or forbid allocations on an expression or function basis.
-
safe-gc
A garbage collection library with zero
unsafe
code and zero dependencies -
tomt_atom
Basic Atom (string) registry for use with ID strings. For when an application contains and passes around many constant strings (mainly de/serialized strings), this should reduce the…
-
zone-alloc
Containers for zone-based data allocation
-
playdate-allocator
Global allocator and allocator-api implementation for Playdate
-
fixed-typed-arena
A typed arena that uses fixed-size chunks to ensure non-amortized O(1) allocations
-
byte-pool
Pool of byte slices, for efficient memory usage
-
smol_buf
small-string optimized string / buffer type with O(1) clone
-
memflow-qemu
qemu connector for the memflow physical memory introspection framework
-
escoba
Useful broom to clean your RAM in Window$
-
tesap-std
Reimplementation of Rust's common std containers
-
pages-and-pages
Allows control over a manually allocated region of page-aligned memory with support for granular protection and locking of underlying pages
-
mem-rs
pattern scanning and abstraction for pointers in memory of running processes
-
persian-rug
Framework for bringing together disparate objects with inconvenient relationships
-
allocation-counter
Count the number of memory allocation of some code
-
ralloc
An efficient alternative platform-agnostic allocator
-
jit-allocator
An executable code allocator
-
deallocate-zeroed
An extension trait for allocators to deallocate already-zeroed memory
-
rseal
Memory sealing operations
-
hipool
RUST Memory Pool
-
drop_arena
A single-type allocator which permits dropping and reclaiming of individual elements
-
osdk-frame-allocator
The default buddy system frame allocator shipped with OSDK
-
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
-
wayrs-utils
A collection of utils and abstractions for wayrs-client
-
splitrc
Thread-Safe Split Reference Counts
-
handy
providing handles and handlemaps
-
vec_mem_heap
An arena allocator with reference counting
-
rspack_allocator
rspack allocator
-
ration
A shared memory library
-
malloc_size_of
A an allocator-agnostic crate for measuring the heap size of a value
-
toolshed
Arena allocator and a handful of useful data structures
-
microdb
A very small in-program database with cache, disk storage, etc
-
ps-buffer
aligned heap buffer
-
esl01-minibytes
Shared reference-counted bytes with zero-copy slicing support
-
rodeo
Fast dropping arena based on bumpalo
-
mimalloc-redirect
Application-wide allocator redirection to MiMalloc
-
scanflow
memory scanning library based on memflow
-
memusage
Small trait utility to keep track of the memory usage of structs
-
index_arena
id-based, heterogeneous arena allocator
-
roussillon-memory
Memory utility for the roussillon language
-
hash_cons
A type-safe hash-cons library
-
rsbmalloc
but fast binned allocator for Rust. Single-threaded for no_std, multi-threaded otherwise
-
readfilez
Quite fast file to slice reading
-
borrow-framework
More flexible borrowing
-
scudo
Rust Bindings for the Scudo Hardened Allocator
-
capped_collections
Collections with compile-time set capacities
-
concat-in-place
Efficient macros for concatenation of strings and vectors
-
tcmalloc2
Rust FFI bindings to tcmalloc
-
wraith
compiler backend
-
generic-vec
a vector implementation that can be used in
no_std
envioronments -
safe-allocator-api
A safe wrapper around the
allocator_api
’s Allocator trait -
hala-pprof-memory
A memory profile data collector for pprof
-
tikv-jemalloc-sys2
Rust FFI bindings to jemalloc
-
buffet
Thread-local buffer pool for the
loona
crate -
kernel-alloc
Minimalistic Windows Kernel Allocator
-
sgx_alloc
Rust SGX SDK provides the ability to write Intel SGX applications in Rust Programming Language
-
contiguous-mem
A contiguous memory storage
-
bdwgc-alloc
impl GlobalAlloc for bdwgc
-
erased
Erase the type of a reference or box, retaining the lifetime
-
arena64
A concurrent arena providing mutually exclusive access over indexes
-
snap-buf
A copy on write byte buffer for efficient snapshotting
-
shared-buffer-rs
combines Arc and RefCell for Send and Sync
-
wg-utils
Personal Utility Functions
-
cowvert
a flexible data container supporting owned, reference-counted, and copy-on-write semantics. designed for use in interpreters
-
alloc-stdlib
A dynamic allocator example that may be used with the stdlib
-
grounded
A toolkit for managing unsafe statics
-
range-action-map
A range tree, offering interval operation in kernel memory management, and deliver ACTION to actual VmArea。一个区间树结构,用于提供 mmap / munmap / mprotect 时对内核中区间的操作;
-
alloc-checked
Collections that don't panic on alloc failures
-
verity-memory
Personal memory library with some cool features
-
metrics-jemalloc
A small shim to provide metrics from the jemalloc runtime
-
snmalloc-sys
rust raw bindings of snmalloc
-
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” -
mmap-vecdeque
A file-backed memory-mapped VecDeque with deferred commits, atomic and durable persistence
-
frusa
A system allocator with reclaim
-
arcslab
Slab, but with reference counted items
-
reffers
Smart pointers: ARef, that allows even further owner erasure than OwningRef. Strong is a memory efficient Rc + RefCell in one. And more!
-
heapsz
calculating the heap usage of a data structure
-
pyembed
Embed a Python interpreter
-
bumpalo-herd
Support for bumpalo in scoped threads & rayon
-
bump-into
a no_std bump allocator sourcing space from a user-provided slice
-
isoalloc
Security oriented allocator
-
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;…
-
jrsonnet-gc
Tracing garbage collector plugin for Rust
-
contiguous-arena
Efficient, reusable memory arena for Rust with support for contiguous memory blocks
-
arcstring
Atomically reference-counted thin string type with SSO
-
wrc
A thread-safe weighted reference counting smart-pointer for Rust
-
bulk_allocator
Implementations of GlobalAlloc holding memory cache
-
process-memory
that can read/write the memory of other processes
-
pb-atomic-linked-list
An atomic insert-only linked list
-
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:… -
vonneumann
executable memory for windows and unix
-
alloca
Mostly safe wrapper for alloca
-
fortify
convenient way to bundle owned data with a borrowing type
-
hirpdag
procedural macros for Hash Consed, Immutable, Reference Counted, Persistent, Directed Acyclic Graph data structures
-
pi_world
ecs world
-
reloaded-memory-buffers
Shared, Concurrent, Permanent Memory Allocator tied to Process Lifetime
-
storage_api
Storage API, a better version of Allocator
-
arc-cell
Helper for a simple Cell-like object containing Arc/Weak
-
composable-allocators
Composable memory allocators for new allocator API
-
riddance
retiring, recyclable, reservable IDs
-
static-rc
Compile-time reference counting
-
phper-alloc
Alloc related items for phper crate
-
opool
High-performance, lock-free local and concurrent object pool with automated allocation, cleanup, and verification
-
rustc-arena-modified
rustc-arena ported to stable rust with additional features
-
aligners
alignment guarantees for data
-
alloc_cat
allocator for small-to-tiny Wasm projects in rust
-
onsen
Memory pool
-
without-alloc
Replacements for
Box
,Rc
,Vec
, .. withoutalloc
-
cheap
cross platform allocator which communicate over the C ABI
-
pstruct
procedural macro for generating pointer struct implementations with field offset access
-
mmap-loader
A Portable Executable manual map loader
-
git_fetch_concurrently
Do
git fetch -p && git gc
in each sub directory concurrently -
obj-pool
object arena
-
timely-bytes-master
Disjoint mutable byte slices from a common allocation
-
arena-allocator
Virtual memory based linear allocator
-
buddyalloc
Safe and simple drop-in allocator for Rust running on embedded or bare metal systems (no_std)
-
cactusref
Cycle-aware reference counting smart pointer
-
slabby
Maximally efficient allocation and deallocation of a large number of instances of a type
-
min32
Minimal boilerplate code for targeting win32 with no-std
-
default-boxed
Helper trait to help create large struct on heap directly
-
discard
trait which allows for intentionally leaking memory
-
owned-pin
A wrapper that both owns and pins data in memory
-
maprc
Rc and Arc alternatives that allow the smart pointer to refer to just a portion of a reference-counted allocation
-
zerogc
Zero overhead tracing garbage collection for rust
-
hugealloc
Hugepage-aware allocator
-
light_arena
A lightweight, placement based memory arena for types which are Sized + Copy. This crate requires nightly.
-
kioku
A memory arena
-
moving_gc_arena
Lightweight Garbage-collectable regions using indices and explicit roots
-
cl-generic-vec
a vector implementation that can be used in
no_std
envioronments -
system-mimalloc
system's shared mimalloc library as allocator
-
slitter
A C- and Rust-callable slab allocator with a focus on safety
-
loca
memory allocation
-
rco-cell
Wrapper for Rc<RefCell<Option<T>>> and its weak variant. Includes various utilties for common operations usually performed on such a datastructure.
-
bookcase_alloc
An arena allocator
-
hybrid-rc
Thread-safe hybrid reference counting pointers
-
tracking-allocator
global allocator that provides hooks for tracking allocation events
-
musli-allocator
Allocators for Müsli
-
pb-arena
arena allocator for graph based operations
-
context-allocator
-
hpt-allocator
An internal library for memory allocator for hpt
-
ps-alloc
a reasonably safe allocator
-
peakmem-alloc
An allocator wrapper that allows measuring peak memory consumption
-
possibly_uninit
Traits and types helping with using uninitialized memory safely
-
allocator-suite
Allocator Suite for various allocation types
-
rlalloc
blazingly slow malloc replacement
-
shared_arena
A thread-safe & efficient memory pool
-
hwlocality-sys
Low-level bindings for the hwloc hardware locality library
-
flatty-io
Flat message transfer
-
rattish
Cast between trait objects
-
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.
-
generic_singleton
allowing for generic singleton patterns
-
refbox
A smart pointer with a single owner and many weak references
-
malloc_buf
Structs for handling malloc'd memory passed to Rust
-
freeze
A mmap-backed bump allocator that allows compact and zero-realloc mutability of the top vector
-
vec-tree
A safe tree using an arena allocator that allows deletion without suffering from the ABA problem by using generational indices
-
libmimalloc-sys
Sys crate wrapping the mimalloc allocator
-
dynamic-arena
Dynamically typed arenas, supporting any
Sized
type -
ps-mbuf
memory buffers for memory maps
-
haz-alloc
A general-purpose allocator written in Rust
-
fixed_heap
A fixed-size heap structure with manually provided stateful comparison function
-
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)…
-
sodg
Surging Object DiGraph (SODG)
-
nstd_core
NSTD core crate
-
c-ffi
C FFI utilities
-
alloc-tls
Thread-local storage that is safe for use in implementing global allocators
-
salloc
Safe C-like memory allocator for windows
-
slotmap-fork-otter
Slotmap data structure - temporary fork for Otter
-
ve
More compact Vec
-
rust_jsc_sys
Low-level bindings to JavaScriptCore
-
giputils
Some useful utilities for rust programming
-
maskerad_memory_allocators
custom allocators, for memory fragmentation prevention
-
josephine
using JavaScript to safely manage the lifetimes of Rust data
-
ferris-gc
Flexible implementation of garbage collector for Rust
-
bacon_rajan_cc
A reference counted type with cycle collection
-
obstack
A fast, stack-based allocator, usable for any object
-
wr_malloc_size_of
Internal utility to measure memory usage in WebRender
-
talloc
A fast, consistant, and flexible
no_std
-compatible allocator -
dairy
A more compact, user friendly clone-on-write smart pointer
-
token-ref-cell
Interior mutability cell using an external token to synchronize accesses
-
osdk-heap-allocator
The default slab-based heap allocator shipped with OSDK
-
quack
Duck typing traits
-
shuffling-allocator
A shuffling allocator, randomizing heap object locations; useful for avoiding accidental cache locality during benchmarking, which can obscure performance evaluation
-
mimalloc-rust
the best binding for mimalloc in rust
-
ps-mmap
Easy memory mapping
-
owned_chars
Owned iterators with the same output as Chars and CharIndices
-
allocators
composable memory allocators and utilities for creating more
-
syncpool
A thread-friendly library for recycle of heavy and heap-based objects to reduce allocation and memory pressure
-
scx_rustland_core
Framework to implement sched_ext schedulers running in user space
-
addr_of_enum
Get address of fields in enum item using stable Rust
-
pin-arc
Reference counting pointers without allocation using pinning
-
index-pool
A pool which manages allocation of unique indices. Acts like a psuedo-memory allocator.
-
typed-arena-nomut
The arena, a fast but limited type of allocator
-
bustd
Lightweight process killer daemon for out-of-memory scenarios
-
ma_proper
A securely overwriting memory allocator
-
backdrop
Drop your large or complex objects in the background with Backdrop! (later, on another thread, or both! Fully customizable! Tokio supported!)
-
libisoalloc-sys
Security oriented allocator
-
speedy_refs
A collection of simple and fast and useful smart pointers
-
crndm
Persistent Programming Library
-
rulloc
General purpose memory allocator
-
tcmalloc
Drop-in global allocator using tcmalloc
-
gc_api
Generic abstractions for a multithreaded garbage collector
-
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 -
easyrw
Easy Read and Write functions in rust, External and Internal
-
malloc-rust
Malloc implementation using Rust allocator
-
shmem-ipc
Untrusted IPC with maximum performance and minimum latency on Linux
-
cell-gc
A fun garbage collector for that virtual machine you're writing in Rust
-
freelist
datastructure implementation providing unsafe access to backing storage
-
fixed-bump
A bump allocator that uses fixed-size chunks to ensure non-amortized O(1) allocations
-
basic_allocator
A very simple global allocator written in pure Rust
-
loro-thunderdome
Fork of thunderdome: Fast arena allocator with compact generational indices
-
aligned_box
Allocate heap memory with user-specified alignment
-
flp-framework
Floorplan, a memory layout specification language, code-generation necessities
-
pool
reusable values
-
numanji
Local-affinity first NUMA-aware allocator with optional fallback
-
rslab
A slab allocator for Rust
-
virtual-memory
allocating RWX memory on Unix and Windows
-
recasting
traits for one-to-one recasting of values in data structures
-
netbuf
growable, contiguous buffer object with right assumptions and interface. Tuned for using it for network buffers.
-
darc
Dynamically-atomic reference-counting pointers (proof of concept)
-
alloc_buddy_simple
drop-in replacement allocator for Rust running on bare metal (no_std)
-
tikv-jemalloc-ctl
A safe wrapper over jemalloc's control and introspection APIs
-
malloc-array
libc heap array allocator
-
forgotten
globally and safely persist a value, implemented with ManuallyDrop
-
memguar
that helps to optimize IO of large buffers in near-OOM state or with small amount of RAM
-
build-array
Build an array dynamically without heap allocations
-
boxext
Extensions to the
Box
type -
mmap-append
Append-only memory-mapped I/O, resizable, with low lock contention
-
membank
A pool of reusable memory to prevent unnecessary deallocations
-
refuse-pool
A string interner utilizing the Refuse garbage collector
-
memory-pager
Access memory using small fixed size buffers
-
markable_reader
reader which can be marked in a position to be returned to after subsequent reads
-
scoped-arena
Arena allocator with optional scopes
-
heapnotize
A smart pointer type for memory allocation on the stack
-
tracing-rc
Cycle-aware reference-counted pointers with a safe, simple api
-
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 -
fixed-size-allocator
A fixed-size allocator
-
lazy-heap
A lazy heap allocator for Rust based on
slab_allocator_rs
-
bump_future
Type Erased Future Stored In Bump
-
vecstorage
Re-use the memory for vectors containing values with different lifetimes
-
async-alloc-counter
measures max allocations in a future invocation
-
aloc
A no_std heap allocator that works with an operating system (IT CURRENTLY SEGFAULTS THOUGH)
-
card10-alloc
Dynamic memory allocation for card10 l0dables
-
smallest-uint
Gets the smallest unsigned integer type that can represent a given value
-
gc-sequence
a system for encoding safe points for computations running on gc-arena
-
id-alloc
An id allocator implemented by the bitmap
-
piece
A collection of composable allocators
-
drop-bin
Defer running expensive destructors until later
-
rcsv
A non-allocating RFC 4180 compliant CSV parser
-
gc_plugin
Garbage collector plugin for rust-gc
-
rebound
Full runtime reflection for Rust, with lifetime safety
-
virt-arena
A virtual memory bump allocator
-
redox-buffer-pool
A buffer pool library for Redox, featuring a general-purpose 32-bit allocator
-
NEXMemory
Easily read, and write into a process's memory
-
rb-allocator
Memorry allocator for Ruby extensions
-
jrsonnet-interner
Jrsonnet string interning
-
maybe-std
Helper crate for writing rust libraries with an optional dependency on the standard library
-
buguc
-
index_alloc
A toy static allocator wich can serve as a global_allocator
-
dudy-malloc
Easy way to configure best memory allocation for each platforms
-
nalloc
An allocator wrapper that can be turned on and off
-
flipflop
Stress-tester for double-ended iterators
-
static_initializer
Global non-lazy zero-cost statics without
const fn
-
acid_alloc
Bare-metal allocators
-
silly-alloc
A collection of very basic allocators
-
customizable-buddy
A new buddy allocator that allows custom buddy finding algorithm
-
cable
A cable(pointer) with a hook(header at address) at the end and a sized payload(array)
-
flatvec
An indirection-collapsing container that stores all its elements in at most 2 allocations
-
ashpan
RAII helpers for ash
-
polymock
A thread-safe arena bytes allocator
-
alloc-facade
Facade for std-or-alloc imports
-
zc
Self-referential zero-copy structure
-
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…
-
fallible_alloc
Fallible rust stable std collections allocations
-
heaparray
Flexible support for dynamically-sized types, using heap-allocated array of structs
-
rcu-clean
Smart pointers using RCU with Deref support
-
owned_ref_cell
offering a custom RefCell variant with owned references for flexible and dynamic borrowing management
-
lockedbox
A Box-like type that prevents paging its contents to disk
-
kirkos
Lightweight no_std heap-allocated circular buffer implementation
-
bufpool
Vec<u8> pool allocator
-
lazy-cogs
Lazy Cogs is a implementation of lazy clonable data structures
-
id_allocator
ID allocator adapted from. idalloc
-
seckey
Use
memsec
protected secret memory -
cleo_redux_sdk
Rust SDK for CLEO Redux plugins
-
growable
reusable box for Rust
-
heap-ap
heap access point for anyone in rust, called to c
-
warlock
Arena allocation optimized collections
-
microstack
The simplest and the fastest implementation of a fixed-size stack on stack
-
beton
A tree-backed slab allocator
-
trove
arena allocator
-
wasm-nopackage
Basic alloc and dealloc and module setup for lightweight WASM modules
-
pkey_mprotect
Typed
pkey_mprotect
wrapper -
indexed
Convenient allocator for index-linked data structures
-
shared_hashmap
A shared hashmap for use between processes, using shared memory
-
rendy-memory
Rendy's memory manager
-
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
-
nvpair-sys
Bindings to libnvpair.so (nvpair & nvlist)
-
cesium-allocator
Allocator pool for managing sets of allocators
-
zalloc
A global allocator wrapper zeroizing memory on dealloc
-
retry_alloc
A global allocator wrapper that will retry failed allocations
-
compactmap
Compact Vec-based map that choses assigns IDs for your values on it's own. Very similar to Slab.
-
mvcc_cell
Software-transactional memory for Rust
-
nstd_alloc
NSTD memory allocation crate
-
stackvec
stack-allocated Vectors (performance and/or no-std)
-
poule
A pool of reusable values
-
reusable-id-pool
A pool for RAII IDs
-
shredder
Garbage collection as a library for Rust
-
bulletproof
memory access
-
mmapio
Cross-platform Rust API for memory-mapped file IO
-
regc
A garbage collector that mixes Reference counting and mark sweeping
-
catalyst_entities
Low level data-structures for multithreaded and incremental compilation
-
owned-alloc
help reducing manual memory management errors
-
frieren
Display free and used memory with freeze ❄️
-
noop-allocator
An
Allocator
that does nothing -
frond
dynamic lexicographic containers
-
yesallocator
implemting for rust
-
alleakator
leaking global allocator
-
generic_slab
Pre-allocated storage for a uniform data type
-
chunky
Abstract storage of heterogeneously-sized entity-collections
-
jemalloc-info
A small library for exporting jemalloc allocation data in Elixir
-
freezie
small library that disables mutation for the contained type
-
alloc-fmt
Formatting utilities safe for use in an allocator
-
bumpalo_try
Allocates a fallible iterator into a bumpalo
-
rarena
Lock-free allocator and data structures based on ARENA
-
omniswap
swap values between possibly-overlapping references
-
accounting-allocator
A global memory allocator wrapper which counts allocated and deallocated bytes
-
soak
Transform a struct into arrays of its fields
-
spool
object pool for upfront allocation!
-
shm_open_anonymous
Anonymous POSIX shared memory objects
-
emheap
Tiny memory manager for embedded system
-
lazy-st
Single-threaded lazy evaluation
-
xsl-rs
A simple library
-
tenacious
[RETIRED: Will not work with MIR] A plugin to prevent certain types from being moved
-
passable
Pass a pointer around
-
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
-
cfixed-string
Pass Rust strings to C with potentially not needing heap allocation
-
staging-tracking-allocator
Tracking allocator to control the amount of memory consumed by the process
-
maybe_atomic_refcell
AtomicRefcell for debug mode and UnsafeCell in release mode
-
static-cow
Cow
at the type level: a framework of traits for writing types that are generic over ownership of their contents -
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
-
armory
a fast pool for storing lots of objects of one type without fragmenting
-
shalloc
Implements the
GlobalAlloc
trait for supahero1’s allocator written in C: https://github.com/supahero1/alloc -
simple_arena
arena allocator for Rust
-
guard-trait
Contains fundamental wrappers for pointer types that can safely be shared in memory-sharing completion-based I/O interfaces
-
contain
defining/extending lifetimes
-
benemalloc
WIP: A fast, general-purpose memory allocator for Rust
-
cruppers
A minimal crate to support using no_std Rust libraries in C++
-
mmapcell
wrapper for the memmap2 crate to cast mmap backed pointers to structs
-
mut_guard
Run a function after some data was mutably borrowed
-
dualhashkey
64-bit Dual-Hash-Key, strongly inspired by the Linux kernels dcache hashes
-
hirpdag_hashconsing
Various hashconsing implementations with a common interface
-
nimix
An allocator designed to be use by a GC
-
dst-init
provide ways to emplace dynamic sized type
-
slice-arena
Store lots of tiny slices with low overhead, in contiguous blocks of memory
-
wrapper
A trait for types that wrap other types
-
bh_alloc
A fuzzer friendly bump pointer allocator
-
rsgc
Concurrent GC library for Rust
-
craft-eraser
A set of simple type-erased box primitives
-
inlined
Types for inlining small collections for avoiding unnecessary heap allocations
-
libmimalloc-sys2
Sys crate wrapping the mimalloc allocator
-
cbvm2
Cross bytes virtual machine used for building, running and reading CBVM files
-
ezmem
Very basic library that provides simple functions for external memory hacking on Windows
-
limit-alloc
A custom allocator that allows to limit the available memory
-
type-handle
Regular and reference-counted type handles
-
yaap
A custom allocator facility playground
-
thinnbox
An expansion of the currently nightly ThinBox of the standard library
-
faux_alloc
A fake 'allocator'
-
liverking
Primal Man
-
arena_system
An arena allocator which uses handles for accessing elements
-
buddy-system
buddy system allocator for real-time usecases
-
viaptr
An experimental library for packing complex types into pointer-sized fields
-
halfbit
a free-standing collection of utilities
-
cev
An expandable data array used to add data to the beginning of the array
-
hato
Heterogeneous Arenas of Trait Objects
-
memory-layout
explicit struct layouts
-
allocdeny
Deny the use of crate
alloc
-
drop_tracer
memory leak detector
-
alloc-metrics
A global allocator that tracks allocation metrics
-
thinnable
Thin references to unsized types
-
rccell
A convenient wrapper for Rc<RefCell<T>>
-
swamp-core-extra
Rust runtime implementations for Swamp core library collections (Vec, Map, Grid, Stack, etc.)
-
rc_bump
An arena for heterogeneous types and without lifetimes
-
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… -
heterovec
In-place vector of dynamically sized type
-
default_allocator
default (userspace) memory allocator
-
mimallocate-sys
Beta bindings to the mimalloc allocator
-
ring-alloc
Specialized allocator for short-living objects
-
stack
DSTs and arrays on the stack!
-
elise
A concurrent GC
-
memflow-native
System call based proxy-OS for memflow
-
tux-owned-alloc
help reducing manual memory management errors
-
taichi-sys
Rust language binding to the Taichi Runtime C-API
-
indexed-hash-set
A bidirectional set whose entries can either be accessed via an index or via hashing
-
arcstr
A better reference-counted string type, with zero-cost (allocation-free) support for string literals, and reference counted substrings
-
memory-cache-rs
local in-memory cache for Rust
-
mappable-rc
mappable reference counted types
-
vitallocator
allocator interface to the PS Vita kernel allocator
-
gg-alloc
A custom allocator that only returns pointers above 2G
-
buddy-allocator
A buddy allocator implementation supporting alloc-wg
-
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 -
appendbuf
A Sync append-only buffer with Send views
-
owned-future
Turn borrowed futures into owned futures
-
aliasable_deref_trait
Marker trait for types that deref to an address that is aliasable when coerced to a raw pointer
-
dummy-alloc
Global allocator that fails all allocations
-
nano_arena
A tiny arena allocator that uses atomics
-
process_consistency
Hash your executable memory to ensure it stays the same
-
interloc
Middleware allocator for keeping track of memory usage
-
trickster
user-friendly linux memory hacking library
-
easy-pool
An easy way to reuse your objects without reallocating memory every time
-
executable_memory
executable memory for windows and unix
-
nstd_net
NSTD networking crate
-
memalloc
Memory allocation in stable rust
-
rallo
Rust allocator for tracking memory usage
-
pinvec
Growable vector-like structure which never moves its contents
-
r9ir
Rewrite 9cc in Rust
-
sharedptr
Rust Sharedptr
-
zeroize_alloc
A zeroizing allocator wrapper
-
bump-allocator
A high performance `#[global_allocator] implementation using the bump-pointer allocation algorithm
-
alloc-cortex-m
A heap allocator for Cortex-M processors
-
bytes-text
Reference-counted UTF-8 text
-
mem_64
I can't remember the last time I forgot something!
-
corrida
Heterogenous Arena Allocator
-
slice-pool2
using a slice as a memory pool
-
solo5-rs
A convenient abstraction and utilities for Solo5 based unikernels
-
weak-alloc
A custom allocator that can be given ownership of data, returning a WeakRef
-
zeroize
Securely clear secrets from memory with a simple trait built on stable Rust primitives which guarantee memory is zeroed using an operation will not be 'optimized away' by the compiler…
-
phlow-runtime
Phlow is a fast, modular runtime for building backends with YAML flows, Rust modules, and native OpenTelemetry observability
-
alloc_buddy_simple2
drop-in replacement allocator for Rust running on bare metal (no_std)
-
heaptrack
Easily track heap usage with this allocator wrapper
-
diskallocator
For really big vectors: allocate on disk
-
kanameshiki
An alternative allocator, utilizing 領式(Kaname Shiki)
-
movable
A structure whose internal content can be moved out immutably
-
mz16
reading dos 16 bit executables of the mz format
-
any_handle
A thread-safe, type-safe smart pointer that can share, store and downcast a
dyn Any
-
ref_arena
An arena of reference counted objects
-
tinyrand-alloc
Extensions for using tinyrand with alloc
-
proc-mem-rs
proc_mem forc
-
libcre
WIP
-
nunny
the definitive non-empty slice/array/vec library for Rust
-
bellperson-ed25519
Ed25519 curve operations using the bellperson-emulated library
-
slab_typesafe
A wrapper for Slab that provides type-safe tokens instead of usize
-
stadium
A allocated chunk of memory populated with a fixed set of types
-
our
Ergonomic, highly generic wrapper for shared mutable data
-
gomicollector
mark-sweep garbage collector
-
fpool
Non-leased object-pooling
-
tlsf
Two-Level Segregated Fit (TLSF) allocator with optimized memory footprint
-
qimalloc
Quick incremental memory allocator
-
rcell
A Cell which can hold either an Arc or an Weak smartpointer or be empty
-
bra
Buffered random access to sequential data sources
-
realbox
The real copyless box
-
sodium-alloc
Allocator type that allocates memory using Sodium's secure memory utilities
-
lunatic-cached-process
Cached process lookups with lunatic
-
arcon_allocator
Allocator for Arcon
-
memuse
Traits for measuring dynamic memory usage of types
-
struct-pad
Padding types to enable memory layout optimizations
-
into_string
Helper crate to convert values into strings avoiding extra allocations
-
dardan_ui
GUI Toolkit based on SDL2. The goal is for it to be easy to use and be similar to GUI Toolkits for OO languages.
-
stack-any
that provides a type that owns same size type on the stack for type erasure
-
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.
-
wasmtime_serde_guest
serializing complex types to the wasmtime runtime using serde
-
densemap
A collection data structure that is permanently accessible by unique keys and fast iterable
-
copy_arena
Arena allocator for types implementing Copy
-
planus-lexer
Internal lexer library for planus
-
str-intern
string interner
-
object-alloc
An object allocator trait for Rust
-
three_em
A blazingly fast, secure, reliable, multi-language execution machine for Smart Contracts
-
remem
Thread-safe object reuse
-
memory_units
Safe conversions between units of memory
-
zerofrom-derive
Custom derive for the zerofrom crate
-
offset-views
Create and index offset views of arrays, slices, strings, etc
-
wba_wasmlib
The wasm_bytes_api is a sets of library for bytes transceive between golang host VM and rust wasm program. This crate is the wasm side library.
-
rs-mem
minimal memory helpers (no dependency on std)
-
wgpu-conveyor
Buffer belt abstraction for wgpu
-
mmu
Memory management unit abstractions
-
rpmalloc-sys
Unsafe FFI bindings to rpmalloc C library
-
amongos
A small sussy operating system written with the Rust programming language. Developed by following Philipp Oppermann's Writing an OS in Rust blog.
-
aren_alloc
allocator for small copyable objects inspired by object-pools
-
box
The package provides a storage for unique static strings
-
neocortex
Shared memory crate designed for simplicity, safety, and extensibility
-
tinystd
A literate-programming crate for my notes on general data structures and algorithms in Rust
-
alloc_hoard
use Hoard as rust's allocator
-
transvec
safely transmute Vecs
-
simple-slab
Fast and lightweight Slab Allocator
-
dreck
A safe tracing garbage collection library with minimal safety bookkeeping
-
memory-module-sys
Bindings to the MemoryModule library for loading libraries from memory on Windows
-
strck_ident
Checked owned and borrowed Unicode-based identifiers
-
systemstat
Get system information/statistics in a cross-platform way
-
rusty_malloc
A multithreaded yet simple memory allocator written in Rust
-
unsafe-utilities
Helper functions for unsafe code
-
thinarray
A thin alternative to Box<[T]>
-
gharial
test tool for program to manipulate memory directly
-
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
… -
dumpalo
A minimalistic global bump allocator
-
mos-alloc
allocator for mos architecture
-
dbs-allocator
a resource allocator for virtual machine manager
-
alloc_system
NO-STD,for Cortex-M based systems,simply retarget alloc_system to malloc/realloc/free
-
slot
type-shaped chunk of memory
-
gpu-alloc-ash
ash
backend forgpu-alloc
-
bk_allocator
FreeBSD's kernel space allocator
-
system_alloc_stats
A wrapper exposing some stats for the System allocator
-
falloc
fast allocator
-
zerogc-simple
Lightweight mark/sweep collector for zerogc
-
broom
An ergonomic tracing garbage collector that supports mark 'n sweep garbage collection
-
alignas
Wrapper to specify object alignment generically
-
extra-default
Extra traits to go along with the Default trait
-
shmalloc
A shmitty heap for your shmitty code
-
compact
Store objects containing dynamic fields either compactly in consecutive memory or using traditional heap pointers
-
mimalloc-rust-sys
mimalloc_rust hand writted sys binding
-
state-department
state management and dependency injection in Rust
-
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
-
libarena
Arena allocated graph implementation
-
ts-mem-pool
thread-safe memory pool crate
-
ittybitty
An itty bitty bitset to hold your itty bitty bits
-
tic80-sys
An opinionated interface into the tic80 system
-
dispose
wrapper for values that must be consumed on drop
-
razerctl
Allows you to control your mouse with Razer Synapse
-
ligature-in-memory
Ligature that uses persistant data structures to store Ligature's data model in memory
-
bumpslab
A slab allocator with stable references
-
kelk-allocator
providing memory allocator support for smart contracts in Pactus blockchain
-
boxify
Place your values directly on the heap without creating them on the stack first
-
shared-memory-allocator
An extremely unsafe experiment in writing a custom allocator to use linux shared memory
-
toast-cell
Zero-cost type-branded cell with no runtime checks
-
gcmodule
Cyclic garbage collection inspired by CPython's gc implementation
-
hazptr
hazard pointer based concurrent memory reclamation
-
buffers
An alias for the
bytes
crate -
unkai
set for Rust's memory allocation APIs mainly focus on tracking and conditional analyzing / limiting memory usage
-
function_string_builder
A string builder that takes a user-provided function
-
arc-swap-for-cow
Atomically swappable Arc
-
allocator
-
dns-protocol
A DNS protocol implementation in Rust
-
maskerad_stack_allocator
Stack-based allocators, for contiguous allocation and memory fragmentation prevention
-
scudo-sys
C/FFI Bindings for the Scudo Hardened Allocator
-
aligned-cmov
Fast constant-time conditional moves of aligned bytes
-
block_allocator
Thread-safe, fixed-size allocator that serves re-usable blocks
-
stable-alloc-shim
Stable shims for the Allocator API
-
caja
Adds the Caja struct which is basically Box<[T;n]>, but n can be not known at compile-time
-
maybe-uninit
MaybeUninit for friends of backwards compatibility
-
unscrupulous
Types that do not care about provenance
-
eldenring
Raw structures and bindings for From Software's title Elden Ring
-
tralloc
trace allocations and deallocations
-
unarray
working with uninitialized arrays
-
get-size
Determine the size in bytes an object occupies inside RAM
-
mem-isolate
Contain memory leaks and fragmentation
-
boxing-arena
reuse of Box allocation
-
ad-astra
Embeddable scripting language platform Ad Astra. Main Crate.
-
starling
This tree structure is a binary merkle tree with branch compression via split indexes
-
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…
-
rshmem
Win32 shared memory with safe wrapper for allocating buffers
-
slice-pool
using a slice as a memory pool
-
rc-slice2
Reference-counted slices with easy subdivision
-
memory_addresses
Unified virtual and physical address types for the Hermit ecosystem and beyond
-
typemap-meta
compile-time macro to create type-to-value maps
-
storages
Storage backends for collections
-
erased-type-arena
A type-erased allocation arena with proper dropping
-
leak_slice
leak &mut [T] in favor of NonNull<[T]>
-
type_erased_vec
A type erased Vec
-
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
-
arc-atomic-ref
small library that wraps arc-swap in Arc<T> so the atomic reference can be shared widely between many tasks/threads
-
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. -
run-down
protection in rust
-
primordial
Low-level CPU primitives
-
async-once-cell
Async single assignment cells and lazy values
-
outsource-heap
Shoving your heap in random places
-
listpack
Rust wrapper for the "listpack" data structure created and maintained for Redis
-
alloc-safe
Safe memory allocation, no panic!
-
rc_arena
An arena which yields reference counted pointers to the underlying objects
-
balloc
Bounded allocation datastructures
-
memory_addr
Wrappers and helper functions for physical and virtual addresses
-
easy_mmap
Strongly typed memory mapped files that allow for easy manipulation of large amounts of data
-
dodgems
fast bump allocator library
-
fixed_free_list
A fixed-size free-list with optional key lifetime safety and macroless unique typing
-
jenga
A stack based allocator
-
viaduct
A duplex communication channel between a parent and child process, using unnamed pipes
-
fallible_collections
adds fallible allocation api to std collections
-
dybs
An experiment in dynamic single-owner, multiple-borrow smart pointers
-
weak-list2
Doubly linked, heterogeneous, list of Arc-like nodes that can be used to implement a least recently used cache
-
rebinb
A small crate for a resizable binary buffer!
-
generational-arena
A safe arena allocator that supports deletion without suffering from the ABA problem by using generational indices
-
win-lookaside
Windows Lookaside Kernel Allocator
-
singleton-manager
A programatical singleton manager
-
memacc
Memory access functions
-
same-alloc
Reuse an allocated buffer for data with different types
-
bound
Wrap lock guards and other structs along with the locks or other data they are derived by shared reference from, in a struct you can pass around and store anywhere
-
provenance
Container structures that generate key upon insertion that only works with the map that generated it
-
bump_alloc
global_allocator implementation of a bump allocator
-
micromap
The fastest alternative to HashMap, for maps smaller than 20 keys
-
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. -
shared_slab
Data structure with shared insertion
-
rspack-libmimalloc-sys
Sys crate wrapping the mimalloc allocator
-
ptr_cell
Thread-safe cell based on atomic pointers
-
vec_cell
A Vec with interior mutability and dynamically checked borrow rules which allows to take disjoint mutable references to its elements
-
no-std-compat
A
#![no_std]
compatibility layer that will make porting your crate to no_std easy -
v4l2r
Safe and flexible abstraction over V4L2
-
esp-idf-alloc
An allocator for the ESP32 based on the ESP-IDF
-
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.
-
scoped_allocator
A scoped linear allocator
-
mimalloc-sys
Rust FFI bindings to mimalloc
-
pair
Safe API for generic self-referential pairs of owner and dependent
-
string-pool
Global immutable string pool, like Java
-
swc_allocator
A thin wrapper for bumpalo
-
divvy-core
Composable allocators for Rust
-
empty-box
Allows for
Box
s to have their values moved out and replaced with new values, while reusing the same allocation -
allocator-api2-tests
Tests for allocators that implement the allocator API
-
bsr
Tracing garbage collector for Amsel
-
chibios
FFI wrapper for ChibiOS 2.6
-
feldera-size-of
measuring the total memory usage of an object
-
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-sync
package allowing sharing of data between processes in a wait-free and zero-copy fashion from mapped memory
-
rt-own
runtime ownership: owner, sharer and holder
-
one_alloc
A custom allocator that allows a singular allocation of a specific size known ahead of time
-
allocations
Thin cross-platform functions for memory allocation, deallocation and reallocation
-
scope_gc
Scope GC
-
lib_malloc_freq
Use malloc frequency profiler (malloc_freq) via LD_PRELOAD
-
teaspoon
An allocator for when all you have is a teaspoon of memory
-
compact_str
A memory efficient string type that transparently stores strings on the stack, when possible
-
lazy_static
A macro for declaring lazily evaluated statics in Rust
-
flat-drop
Wrapper that drops recursive objects iteratively to avoid stack overflows
-
typed_shmem
Typed shared memory crate for *nix and Windows
-
gen-vec
Vector indexed with generational indices
-
slice_n
Slices containing at least some number of elements
-
calendrical_calculations
Calendrical calculations in Rust
-
jemalloc_pprof
Convert jemalloc heap profiles to pprof to understand memory usage, fix memory leaks, and fix OOM Kills
-
urcu
safe wrapper of the memb variant of the userspace RCU library
-
std-shims
A series of std shims to make alloc more feasible
-
rc-cell
wrapper around Rc<RefCell<T>>
-
memory_set
Data structures and operations for managing memory mappings
-
subrc
A tiny crate that exposes a
Rc
like struct, which can be used to create a reference counted pointer to a subregion of aRc
-
memflow-win32
win32 integration of the memflow physical memory introspection framework
-
gfx-memory
gfx-hal memory allocator
-
slab_32
Forked from the main slab crate as an experiment. Don't use.
-
self_cell
Safe-to-use proc-macro-free self-referential structs in stable Rust
-
flatbuffers
Official FlatBuffers Rust runtime library
-
shared_memory_extended
A user friendly crate that allows you to share memory between processes
-
ika
object pool
-
accountable-refcell
A RefCell wrapper that provides actionable information for dynamic borrow failures
-
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. -
a_r_c_h_e_r_y
TEMPORARY CRATE
-
linear-malloc
An ultra simple single-threaded linear allocator
-
hv-stampede
Bumpalo-based arena allocation utilities for Heavy
-
untyped-arena
Arena allocator implementation that is safe and untyped with minimal complexity
-
vulkan-malloc
A general purpose device memory allocator for Vulkan
-
n_circular_array
An n-dimensional circular array
-
membarrier
Process-wide memory barrier
-
io_uring_mmap
internal crate
-
super-slab
Pre-allocated storage for a uniform data type, based upon slab
-
walloc
Malloc's Wario - allocates unusable, arbitrarily-sized blocks of memory on-command. Great for, uh, testing purposes?
-
re-init-rc
Wrappers for Rc and Arc weak pointers for auto re-initialization of inner value on access when it is already dropped
-
shared_memory
A user friendly crate that allows you to share memory between processes
-
nstd_str
NSTD strings crate
-
drc
add a new "Drc" smart pointer
-
slotmap-map
Slotmap data structure
-
refmove
An experimental implementation of library-level by-move references
-
bogo-alloc
An allocator that makes C/C++ developers feel right at home
-
tcmalloc-sys
Drop-in global allocator using tcmalloc
-
clip
A command line parser that doesn't use std or alloc!
-
generational_vector
A vector type using generational indices
-
reclaim
trait-based abstract interface for memory reclamation
-
bounded-static
Defines the ToBoundedStatic and IntoBoundedStatic traits
-
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…
-
facet-poke
Build and alter arbitrary Facet types
-
tarc
Transposable, type-erasable, and FFI-safe Arc
-
ruyi-slab
An object based allocator
-
zallocators
Bringing Zig like allocators to Rust
-
tracing-allocator
track allocations and deallocations
-
arena-alloc
A small arena allocator with a static backing store and ability to allocate arbitrary types
-
newlib-alloc
Global allocator for Rust no_std projects on newlib targets
-
libc-interface
types often found in libc or other common platform libraries
-
scoped-gc
Derive plugin for the
scoped-gc
crate -
squash
More space efficient encoding of owned heap-allocated slices
-
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…
-
elise-gc
Raw GC Für Elise
-
wobbly
wobbly-owned reference counting pointers that mostly behave like Weak but can also keep a value alive
-
page_table_multiarch
Generic page table structures for various hardware architectures
-
mmap-alloc
allocator backed by memory mappings
-
soa-vec
Vec-like API over a struct of arrays layout
-
core_malloc
Implementing abs_mm with a wrapper around crate alloc
-
copyvec
A contiguous growable array type, with a fixed, stack-alllocated capacity that implements Copy
-
ralloc_shim
The binding layer for the rallc memory allocator
-
crndm_derive
Persistent Programming Library Procedural Macros
-
block-grid
A quick, cache-conscious, tiled 2D array
-
marching-buffer
Marching buffer with resets
-
reusable-box-future
A reusable
Pin<Box<dyn Future<Output = T> + Send>>
-
Pointers_Study_With_Core_Concepts
A study on rust smart pointers, with their essential concepts documented
-
c2-mmap-gpio
ODROID-C2 bindings for GPIO using memory-mapping
-
hazard
pointers
-
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.
-
libmimalloc-sys-rspack
Sys crate wrapping the mimalloc allocator
-
vec-arena
object arena
-
memflow-coredump
win32 coredump connector for the memflow physical memory introspection framework
-
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
. -
maskerad_object_pool
A collection of object pools, for more efficient dynamic memory allocation
-
wee_alloc
Wasm-Enabled, Elfin Allocator
-
bool_vec
A crates that exposes a vector called BoolVec which allows you to store a boolean in a single bit
-
gpu-alloc-types
Core types of gpu-alloc crate
-
aligned
A newtype with alignment of at least
A
bytes -
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
-
lockfree-object-pool
A thread-safe object pool collection with automatic return and attach/detach semantics
-
fast-smr
Toward fast, wait-free, portable, and robust memory reclamation
-
pi_slot
lock free Slotmap data structure
-
evobox
A pointer type which allows for safe transformations of its content without reallocation
-
upto
Fixed-capacity and variable length stack allocated arrays
-
arccstr
Thread-safe, reference-counted null-terminated immutable strings