#链表 #slab #队列 #双端队列 #内存管理

slabigator

不进行动态内存分配的链表

10个版本

0.9.2 2024年3月17日
0.9.1 2023年9月8日
0.2.0 2022年8月9日
0.1.6 2022年8月9日
0.1.4 2022年6月30日

#357 in 数据结构

Download history 180/week @ 2024-04-06 338/week @ 2024-04-13 254/week @ 2024-04-20 470/week @ 2024-04-27 223/week @ 2024-05-04 234/week @ 2024-05-11 367/week @ 2024-05-18 421/week @ 2024-05-25 400/week @ 2024-06-01 396/week @ 2024-06-08 428/week @ 2024-06-15 376/week @ 2024-06-22 316/week @ 2024-06-29 474/week @ 2024-07-06 351/week @ 2024-07-13 468/week @ 2024-07-20

1,669每月下载量
2 crates 中使用

MIT/Apache

19KB
451 代码行

CI

Slabigator

不进行动态内存分配的链表。

设计要完成的事情

  • 在O(1)时间内向列表头部添加 - 返回的是一个稳定的槽位号
  • 在O(1)时间内从列表尾部弹出
  • 根据槽位号在O(1)时间内删除元素
  • 仅此而已。

简单、小巧、易于维护、无依赖。

Cargo功能

  • releasefast: 假设 remove() 总是使用有效索引调用。这可以节省一些内存,但需要非常小心使用。该功能默认未设置。
  • slot_u32: 使用 u32 作为槽位类型(默认)
  • slot_u64: 使用 u64 作为槽位类型
  • slot_usize: 使用 usize 作为槽位类型

无运行时依赖