CATEGORY
Memory management 1,342 crates
Data as of 2026-07-25 (crates.io database dump, timestamp 2026-07-25T02:00:36Z). Source: crates.io · db-dump.tar.gz · methodology & corrections.
bumpslabA slab allocator with stable references109,211MIT
page_table_multiarchGeneric page table structures for various hardware architectures108,789GPL-3.0-or-later OR Apache-2.0 OR MulanPSL-2.0
leaseObject pool that leases values and automatically returns them with async support108,661MIT OR Apache-2.0
free-listA free-list-based page/frame allocator.105,397MIT OR Apache-2.0
netbufThe simple to use, growable, contiguous buffer object with right
assumptions and interface. Tuned for using it for network…100,502MIT/Apache-2.0
tcmalloc-betterA Rust wrapper over Google's TCMalloc memory allocator99,363MIT
mimalloc-rspackPerformance and security oriented drop-in allocator99,201MIT
concat-in-placeEfficient macros for concatenation of strings and vectors99,129MIT OR Apache-2.0
feldera-size-ofA crate for measuring the total memory usage of an object98,206MIT OR Apache-2.0
good_memory_allocatorA blazingly fast and memory efficient memory allocator to be used in `no_std` environments.96,883MIT
libtcmalloc-sysSys crate wrapping the tcmalloc allocator96,645MIT
ghost-cellCompile-time zero-cost borrow-checking of aliased references95,291MIT OR Apache-2.0
rspack-libmimalloc-sysSys crate wrapping the mimalloc allocator94,694MIT
planus-lexerInternal lexer library for planus.92,313MIT/Apache-2.0
perilFast and safe Hazard pointers for Rust.91,987MIT
planus-typesInternal type library for planus.91,742MIT/Apache-2.0
planus-translationInternal translation library for planus.89,656MIT/Apache-2.0
memory_setData structures and operations for managing memory mappings86,586GPL-3.0-or-later OR Apache-2.0 OR MulanPSL-2.0
planus-codegenInternal codegen library for planus.86,525MIT/Apache-2.0
tor-memquota-costLow-level memory tracking traits, for use by Arti86,135MIT OR Apache-2.0
typed-generational-arenaA safe arena allocator that supports deletion without suffering from the ABA problem by using generational indices. Now with…85,347MPL-2.0
rarena-allocatorLock-free ARENA allocator which can be used in both memory and on-disk.85,161MIT OR Apache-2.0
mmap-allocatorstruct implementing trait std::alloc::GlobalAlloc for unix83,566Apache-2.0 OR LGPL-3.0-or-later
slabigatorA fixed-capacity linked list with stable element addressing and no dynamic allocations83,373MIT OR Apache-2.0
arccstrThread-safe, reference-counted null-terminated immutable strings.81,523MIT OR Apache-2.0
memflowcore components of the memflow physical memory introspection framework81,073MIT
owned_charsOwned iterators with the same output as Chars and CharIndices79,711MIT/Apache-2.0
recycle-boxA pointer type for heap-allocated objects which heap storage can be re-used, with Pin support.78,783MIT OR Apache-2.0
typed-slabTyped wrapper for Slab78,137MIT
shared_memory_deriveSupport crate that provides macros for the shared_memory crate.75,987MIT OR Apache-2.0
alloc-checkedCollections that don't panic on alloc failures75,977MIT OR Apache-2.0
jemallocator-globalSets `jemalloc` as the `#[global_allocator]`71,463MIT/Apache-2.0
starlingThis tree structure is a binary merkle tree with branch compression via split indexes.69,439MIT/Apache-2.0
mimalloc-sysRust FFI bindings to mimalloc69,342MIT/Apache-2.0
bufiostd::io::Write for your potentially uninitialized slice of memory.69,287Apache-2.0 OR MIT
boxarraySafe way to allocate and initialize nested arrays directly on the heap in Rust.68,128MIT
default-boxedHelper trait to help create large struct on heap directly67,143MIT
slotmapdorlp/slotmap fork where serialization cycle doesn't change observable behavior66,510Zlib
composable-allocatorsComposable memory allocators for new allocator API.65,552MIT OR Apache-2.0
compact_arenaA crate with some types to allow indexed arenas with small memory footprint63,623MIT OR Apache-2.0
memflow-derivederive macros for the memflow physical memory introspection framework62,948MIT
memusageSmall trait utility to keep track of the memory usage of structs60,529non-standard
arc-cacheAn Adaptative Replacement Cache for Rust.52,310MIT/Apache-2.0
bdwgc-allocimpl GlobalAlloc for bdwgc46,709MIT
mmtkMMTk is a framework for the design and implementation of high-performance and portable memory managers.46,511MIT OR Apache-2.0
memsecuritySecurely hold secrets in memory and protect them against cross-protection-boundary readout via microarchitectural, via attacks on…46,349Apache-2.0 OR MIT
aligned_boxAllocate heap memory with user-specified alignment44,703MIT
arcshiftReplacement for std::sync::Arc<T> that supports updating the value, with some caveats.44,656MIT OR Apache-2.0
customizable-buddyA new buddy allocator that allows custom buddy finding algorithm44,244MIT
trcA faster Arc.40,020MIT
quinineAtomic monotonic containers (Mono{Box,Arc})39,916Apache-2.0/MIT
linera-jemalloc-ctlA safe wrapper over jemalloc's control and introspection APIs39,599MIT/Apache-2.0
linera-jemallocatorA Rust allocator backed by jemalloc39,568MIT/Apache-2.0
amiUseful data structures that are not in the standard library.39,549MIT / BSL-1.0
pi_slotmapSlotmap data structure39,060MIT OR Apache-2.0
mockallocA crate to allow testing code which uses the global allocator.38,464MIT OR Apache-2.0
pi_worldecs world38,130MIT OR Apache-2.0
slabmapHashMap-like collection that automatically determines the key.37,921MIT OR Apache-2.0
hazarcA wait-free AtomicArc optimized for read-intensive use cases.37,293MIT OR Apache-2.0
flatbuffers-verifierSupport library for the flatbuffers verifier generated by cfbc.36,982MIT
arc-atomic-refarc-atomic-ref is a small library that wraps arc-swap in
Arc<T> so the atomic reference can be shared widely between many…36,723MIT
topoTools for incrementally computing repeated callgraphs.36,154MIT/Apache-2.0
sodgSurging Object DiGraph (SODG)36,044non-standard
dpdk-unixAn internal crate to make it easier to iterate on unix requirements35,889AGPL-3.0
process_vm_ioI/O access to virtual memory contents of processes35,853MIT
freqfsAn in-memory filesystem cache layer over tokio::fs, with LFU eviction35,828Apache-2.0
bitcoinleveldb-utilLow-level utilities for bitcoin-rs/bitcoinleveldb providing C++-style non-dropping singletons and destructor control via…35,499MIT
bbq2A SPSC, lockless, no_std, thread safe, queue, based on BipBuffers35,260MIT OR Apache-2.0
metrics-libHigh-performance Rust metrics library: sub-2ns counters, sub-1ns gauges, nanosecond timers, tumbling-window rate meters, async…35,151Apache-2.0
buddy-slab-allocatorMemory allocator with Buddy and Slab allocation31,533Apache-2.0
smallest-uintGets the smallest unsigned integer type that can represent a given value31,391Apache-2.0
poolsharkThread safe object pool31,386MIT
poggersmemory lib31,032GPL-2.0
rabufrandome access buffer for io30,910MIT OR Apache-2.0
coredumpForce coredump creation on panics.30,692GPL-3.0-or-later
fixed_heapA fixed-size heap structure with manually provided stateful comparison function.30,590MIT OR Apache-2.0
mimallocatorA Rust allocator backed by mimalloc30,466MIT/Apache-2.0
bump-intoa no_std bump allocator sourcing space from a user-provided slice30,344MIT OR UPL-1.0
crumblesKeeping track of your pie's crumbles30,204MPL-2.0
dpdk-sysdpdk-sys30,091MIT
avr-progmemProgmem utilities for the AVR architectures29,586Apache-2.0
musli-allocatorAllocators for Müsli.29,504MIT OR Apache-2.0
sensitiveMemory allocator for sensitive information29,075CC0-1.0
moogledata structures for relational code28,894MIT OR Apache-2.0
memflow-win32win32 integration of the memflow physical memory introspection framework27,750MIT
atomptrA safe copy-on-write wrapper around `AtomicPtr` with some extra tricks27,356EUPL-1.2 OR Apache-2.0
scoped-arenaArena allocator with optional scopes27,192MIT OR Apache-2.0
gpu-alloc-erupt`erupt` backend for `gpu-alloc`26,988MIT OR Apache-2.0
bitcoinleveldb-arenaLow-level bump-allocating memory arena and LCG-based test harness extracted from a Bitcoin LevelDB port, providing raw-pointer…26,767MIT
stable-arenarustc's arena, adapted for stable Rust25,820Apache-2.0 OR MIT
reffersSmart pointers: ARef, that allows even further owner erasure than OwningRef. Strong is a memory efficient Rc + RefCell in one.…25,363Apache-2.0/MIT
invocation-counterDatastructure to answer to: how many times a function has been called in the last X minutes?25,139Apache-2.0
baby-mimallocMimalloc implemented in Rust (not a binding to the C library) with only basic features.24,742Apache-2.0
memflow-nativeSystem call based proxy-OS for memflow24,480MIT
contrailSimple state restoration for backtracking search algorithms using a trail.24,342MPL-2.0
option-cellOptionCell: OnceCell but derivable from Option24,095MIT OR Apache-2.0
index-poolA pool which manages allocation of unique indices. Acts like a psuedo-memory allocator.24,056MIT
poolshark_deriveThread safe object pool23,144MIT
maskerad_memory_allocatorscustom allocators, for memory fragmentation prevention.23,096MIT/Apache-2.0
id-vecSimplify Graphs in Rust. Introduces IdVec, which automatically creates Ids for each new object, reusing deleted Ids.22,965MIT
malloc-best-effortA Rust wrapper over Google's TCMalloc and Microsoft's MIMalloc memory allocators22,922MIT
picoallocSimple, small and fast memory allocator22,816MIT/Apache-2.0
local-or-heapprovides a type with a pre-specified size, regardless of the size of the T type it contains, using heap allocation if necessary22,706MIT OR Apache-2.0
static-rcCompile-time reference counting22,563MIT OR Apache-2.0
once_self_cellSafe-to-use proc-macro-free self-referential structs in stable Rust.22,539Apache-2.0
alignersUtilities for alignment guarantees for data.21,985MIT
crosstalkAn extremely lightweight, topic-based, cross-thread, in-memory communication library21,979MIT
heaparrayFlexible support for dynamically-sized types, using heap-allocated array of structs21,867MIT
stackvecA crate to use stack-allocated Vectors (performance and/or no-std)21,786MIT
fringLightweight, no_std, and *fast* ring buffer21,664MIT
omniswapswap values between possibly-overlapping references21,621MIT OR Apache-2.0
ashpanRAII helpers for ash21,563MIT OR Apache-2.0
copyvecA contiguous growable array type, with a fixed, stack-alllocated capacity that implements Copy.21,383MIT OR Apache-2.0
evictorA library for generic caching with configurable eviction policies.21,379MIT OR Apache-2.0
memory-cache-rsSimple local in-memory cache for Rust21,066MIT
haphazardDynamic memory management for lock-free data structures using hazard pointers.20,967Apache-2.0
zone-allocContainers for zone-based data allocation.20,723MIT
unborrowMacro for calling a &mut self method with transient &-borrows of self in the parameters20,570MIT
rb-allocatorMemorry allocator for Ruby extensions20,363MIT OR Apache-2.0
memflowupsetup tool for the memflow physical memory introspection framework20,337non-standard
memflow-ffiC bindings for the memflow physical memory introspection framework19,971MIT
emplacableReturn unsized values from functions19,843MIT OR Apache-2.0
qadaptThe Quick And Dirty Allocation Profiling Tool19,627Apache-2.0
onsenMemory pool19,535MIT OR Apache-2.0
neocortexShared memory crate designed for simplicity, safety, and extensibility18,993MIT OR Apache-2.0
stack-arrayA maximum-sized array stored on the stack18,858MIT
ferrocA fast & lock-free memory allocator library18,855MIT OR Apache-2.0
kamoA library to assist in the creation of an interpreter or compiler and its associated runtime.18,809MIT OR Apache-2.0
crosstalk-macrosProcedural macros for crosstalk — An extremely lightweight, topic-based, cross-thread, in-memory communication library18,670MIT
shared_arenaA thread-safe & efficient memory pool18,642MIT
singleton-managerA programatical singleton manager18,417MIT
scratchpadStack-like memory allocator with double-ended allocation support18,417MIT/Apache-2.0
fallible_vecFallible allocation functions for the Rust standard library's `Vec` type.18,144non-standard
network-collectionsCollections suitable for use with networking, particularly when a fixed memory usage is required to prevent out-of-memory…17,998AGPL-3.0
emapA map with a fixed capacity and integers as keys17,846MIT
indexlandRust Collections with Newtype Indices17,323MIT
thresherExecute a callback when a memory threshold is reached17,323MIT/Apache-2.0
easy-poolAn easy way to reuse your objects without reallocating memory every time.17,203MIT
regcA garbage collector that mixes Reference counting and mark sweeping17,190MIT OR Apache-2.0
stackstackA singly linked list intended to be chained along stack frames.17,136MIT OR Apache-2.0
platform-memMemory for linksplatform17,112Unlicense
allocator-suiteAllocator Suite for various allocation types16,991Apache-2.0/MIT
splitrcThread-Safe Split Reference Counts16,923MIT
estExtensions for the rust Standard library and Tokio.16,880MIT/Apache-2.0
moving_gc_arenaLightweight Garbage-collectable regions using indices and explicit roots16,863MPL-2.0
indexland_deriveDerive Macros for indexland16,841MIT
arena_systemAn arena allocator which uses handles for accessing elements16,785MPL-2.0
hardened_malloc-rshardened_malloc rust wrapper16,703Apache-2.0 OR MIT
rattishCast between trait objects.16,541Apache-2.0
ordsearchA data structure for efficient lower-bound lookups16,512MIT/Apache-2.0
memapiA no_std-friendly memory allocation interface for raw buffers, with improved error reporting.16,487MIT OR Apache-2.0
transvecA crate to safely transmute Vecs16,326MIT OR Unlicense
rcellA Cell which can hold either an Arc or an Weak smartpointer or be empty16,323MIT OR Apache-2.0
pinvecGrowable vector-like structure which never moves its contents16,190non-standard
obj-poolA simple object arena16,093Apache-2.0 OR MIT
backdropDrop your large or complex objects in the background with Backdrop! (later, on another thread, or both! Fully customizable! Tokio…15,972MIT
magic_staticGlobal singletons initialized at program start, an alternative to lazy initialization15,970MIT
cluFullTransmuteExtended, no-constraint type transmutation API, featuring safe checks and const-ready logic.15,927Apache-2.0
wrapping_coords2dTranslate between 1D indices and 2D coordinates with wrapping15,869Apache-2.0
emballocSimple but reliable memory allocator for embedded Rust and #![no_std]15,752MIT OR Apache-2.0
shmem-ipcUntrusted IPC with maximum performance and minimum latency on Linux15,667Apache-2.0/MIT
corundumPersistent Programming Library15,615MIT
object-allocAn object allocator trait for Rust.15,556Apache-2.0/MIT
lazy-stSingle-threaded lazy evaluation15,512MIT
pi_slotlock free Slotmap data structure15,376MIT OR Apache-2.0
simple-chunk-allocatorA simple `no_std` allocator written in Rust that manages memory in fixed-size chunks/blocks. Useful for basic `no_std`
binaries…15,358MIT
mem_macrosalign_of and size_of as a macro, to avoid turbofish notation15,357MIT OR Apache-2.0
gcmoduleCyclic garbage collection inspired by CPython's gc implementation.15,321MIT
qadapt-macroThe Quick And Dirty Allocation Profiling Tool - Support Macros15,289Apache-2.0
fixed-bumpA bump allocator that uses fixed-size chunks to ensure non-amortized O(1) allocations15,263GPL-3.0-or-later
mem-rspattern scanning and abstraction for pointers in memory of running processes15,025non-standard
pipebufEfficient byte-stream pipe buffer14,981MIT/Apache-2.0
memsafeA Secure cross-platform Rust library for securely wrapping data in memory14,939MIT
growableA growable, reusable box for Rust.14,891MIT
winmmfA mostly safe Rust wrapper around Named Shared Memory on Windows. WIP14,687MPL-2.0
slimmer_boxA packed alternative to Box<T> whose 'fat' pointer is 'slimmer'14,656MIT
type_cellAttach values statically to a type using static get/set methods.14,576MIT OR Apache-2.0
proc_memmanage processes, modules and read/write their memory on windows14,542MIT OR Apache-2.0
larivLinked Atomic Random Insert Vector: a thread-safe, self-memory-managed vector with no guaranteed sequential insert.14,514MIT
fixed-typed-arenaA typed arena that uses fixed-size chunks to ensure non-amortized O(1) allocations14,444GPL-3.0-or-later
memflow-qemuqemu connector for the memflow physical memory introspection framework14,395MIT
broomAn ergonomic tracing garbage collector that supports mark 'n sweep garbage collection14,304Apache-2.0/MIT
canister-toolsTools for the canisters on the internet-computer, featuring simple upgrades and data safety state snapshot upload/download…14,204non-standard
rcu-cleanSmart pointers using RCU with Deref support.14,163Apache-2.0/MIT
shush-rsA Rust crate designed to manage sensitive data securely by leveraging memory protection mechanisms.13,995MIT OR Apache-2.0
memaccMemory access functions.13,835MIT OR Apache-2.0
fixstrA simple library for fixing strings13,788MIT
mmap-allocA simple allocator backed by memory mappings.13,600Apache-2.0/MIT
culpert-macrosProc-macros for culpert. The crate-root re-exports the macros at `culpert::span_fn`; depend on `culpert` rather than this crate…13,565MIT OR Apache-2.0
culpertPer-span heap allocation profiler core for Rust services.13,527MIT OR Apache-2.0
owned-pinA wrapper that both owns and pins data in memory13,379MIT OR Apache-2.0
maskerad_stack_allocatorStack-based allocators, for contiguous allocation and memory fragmentation prevention.13,371MIT/Apache-2.0
isoallocSecurity oriented allocator13,336MIT
memflow-win32-defsstatic offset templates for13,270MIT
osiris-dataA data management package.13,185MIT
boundWrap lock guards and other structs along with the locks or other data they are derived
by shared reference from, in a struct you…13,005MIT
sumtypeGenerate zerocost anonymous sum types that implement common traits12,989MIT
vec_remove_ifExtract elements from a vector based on supplied criteria12,888MIT
swamp-vm-layoutMemory layout calculation for Swamp VM types, handling size, alignment, and efficient representation of data structures12,642MIT
thisenumAssign constant literals to enum arms.12,538MIT