21个版本
0.0.117 | 2024年4月20日 |
---|---|
0.0.116 | 2024年4月20日 |
0.0.108 | 2024年3月30日 |
#280 在 内存管理
每月 128 下载
用于 8 个crates(直接使用2个)
1MB
19K SLoC
musli-allocator
Müsli的分配支持。
该crate包含两种类型的分配器
System
分配器,它使用系统分配设施。特别是std::alloc::System
。Stack
分配器,可以从固定大小的切片中分配缓冲区。
示例
use musli::{Allocator, Buf};
musli_allocator::with(|alloc| {
let mut a = alloc.alloc().expect("allocation a failed");
let mut b = alloc.alloc().expect("allocation b failed");
b.write(b"He11o");
a.write(b.as_slice());
assert_eq!(a.as_slice(), b"He11o");
assert_eq!(a.len(), 5);
a.write(b" W0rld");
assert_eq!(a.as_slice(), b"He11o W0rld");
assert_eq!(a.len(), 11);
let mut c = alloc.alloc().expect("allocation c failed");
c.write(b"!");
a.write(c.as_slice());
assert_eq!(a.as_slice(), b"He11o W0rld!");
assert_eq!(a.len(), 12);
});
依赖
~245–710KB
~17K SLoC