#allocator #memory-allocator #memory-pool #object #alloc #allocation #copyable

nightly aren_alloc

受对象池启发的简单分配器,用于小型可复制对象的分配

4个版本 (2个破坏性更新)

使用旧版Rust 2015

0.3.0 2018年2月22日
0.2.1 2017年5月24日
0.2.0 2017年5月12日
0.1.0 2017年5月12日

内存管理类别中排名第724

每月下载量23
arendur中使用

MIT/Apache许可证

17KB
322行代码(不包括注释)

aren_alloc

travis Crates.io

基于对象池概念的线程局部内存分配器,用于解决arendur的内存分配需求。

当以下条件满足时,此crate很有用:

  • 你需要频繁创建和销毁一些对象
  • 这些对象是可复制的,大小小于256字节
  • 你希望底层内存被重用
  • 你希望有一个通用的池接口,而不是类型化的接口

用法

use aren_alloc::Allocator;
#[derive(Copy, Clone)]
struct Point(u32, u32);
let allocator = Allocator::new();
let p = allocator.alloc(Point(1, 2));
assert_eq!(p.0, 1);
assert_eq!(p.1, 2);

由于支持PointerCoerceUnsized,编译需要使用nightly版本。

许可证

本项目根据MIT许可证和Apache许可证(版本2.0)的条款进行分发。

请参阅LICENSE-APACHELICENSE-MIT以获取详细信息。

无运行时依赖