| Crates.io | pi_raw_slab |
| lib.rs | pi_raw_slab |
| version | 0.1.0 |
| created_at | 2025-06-11 11:05:34.324914+00 |
| updated_at | 2025-06-11 11:05:34.324914+00 |
| description | lock-free & auto-expansion raw slab |
| homepage | |
| repository | https://github.com/GaiaWorld/pi_arr.git |
| max_upload_size | |
| id | 1708423 |
| size | 18,728 |
本库提供了两种自动扩展的内存板实现,针对不同环境优化:
VBSlab (基于桶的内存板)settle()合并所有数据到主内存板VecSlab (基于Vec的内存板)with_capacity(raw_size: usize, capacity: usize) -> Self
创建指定元素大小和初始容量的内存板
capacity(len: usize) -> usize
计算给定元素数量所需的总容量
vec_capacity() -> usize
获取主内存板的容量(元素数量)
get<T>(index: usize) -> Option<&mut T>
安全获取元素引用(边界检查)
get_unchecked<T>(index: usize) -> &mut T
无检查获取元素引用(需确保索引有效)
load_alloc<T>(index: usize) -> &mut T
获取元素引用(必要时自动分配)
settle(len: usize)
内存整理(实现机制不同)
VBSlabVecSlabRawSlab = VecSlabRawSlab = VBSlabraw_size)settle()可优化内存布局