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