#memory-pool #heap-allocation #arena #deallocations

已删除 arena-rs

用于快速堆分配和释放的竞技场内存池

0.1.1 2019年12月5日
0.1.0 2019年12月5日

#48#memory-pool

MIT 协议

4KB
56 代码行

Arena-rs

Crates.io

Arena-rs 是一个用于快速 Rust 堆分配和释放的竞技场内存池。

这允许数据即时分配并在批量中销毁。

创建竞技场

let mut arena = Arena::new(1024 /* size in bytes*/);

分配数据

let value = arena.alloc(17)?;
assert_eq!(*value, 17);

释放数据

{
    let arena = Arena::new(1024);
} // <- All data in arena is deallocated here

安全性

let arena = Arena::new(1024);
let value = arena.alloc(17)?;
move_arena(arena);
println!("{}", *value); // <- Compiler Error
// The arena was destroyed when we gave it to `move_arena`
// so we cannot use any data it gave to us

无运行时依赖