4个版本

0.0.4 2021年4月26日
0.0.3 2021年4月26日
0.0.2 2021年4月26日
0.0.1 2021年4月26日

#699内存管理

自定义许可

13KB
353

目录

  1. 巫师
    1. 更多
    2. 目标
    3. 非目标
    4. 为何不使用此crate
    5. 关于分配器

巫师

一组针对竞技场分配器优化的数据结构。

更多

巫师提供了一些由std提供的集合,这些集合针对竞技场分配器进行了优化。也就是说,这些集合不会释放自己的内存。它们分配的内存预期将由分配器本身清理。然而,当集合包含实现`Drop`的项时,集合将正确地丢弃它们包含的任何项。

这些集合在某种程度上也与标准集合有所不同,因为它们假设内存分配可能会失败,并且对于任何分配内存的操作都会返回`Result`。

巫师还提供了一种非常简单的bump分配器,可以与这些数据结构一起使用。

目标

  • 尽可能接近std
  • 在Rust稳定版上编译(有关更多信息,请参阅1.5

非目标

  • 完全替代std容器

为何不使用此crate

  • 您想要在任何情况下都表现正确的集合。
  • 您想要一个100%稳定的crate。此crate正在积极开发中

关于分配器

截至本文撰写时,目前正在努力将标准Allocator trait/concept添加到std中。它已经部分完成,但我预计它还需要相当长的时间才能进入稳定版。在此期间,此crate提供了一种接近标准的Allocator trait。一旦标准Allocator trait合并,此功能将被删除

未来,此crate将提供一个可选功能,为warlock::Allocator添加对std Allocator trait的泛型实现。

无运行时依赖