Re-exports§
pub use quadsort::quad_sort;pub use quadsort::quad_sort_order_by;
Modules§
Structs§
- ArcCache
- ARC(Adaptive Replacement Cache): 自适应缓存替换算法,它结合了LRU与LFU,来获得可用缓存的最佳使用。 设置容量之后将最大保持该容量大小的数据 后进的数据将会淘汰最久没有被访问的数据
- BitMap
- 位图类,根据访问的位看是否被占用 解决经典的是否被占用的问题,但是相对占用大小会较大
- Circular
Buffer - 循环的圆结构 如果数据满了之后将自动在结尾后续添加,并保持最大个数
- Fixed
Vec - 指定位置的序列, 每个位置上指向上向的位置, 相当于模拟指针 可以根据坐标位置获取相应数据, 亦可以操作上级及下级位置
- HashMap
- A hash map implemented with quadratic probing and SIMD lookup.
- HashSet
- A hash set implemented as a
HashMapwhere the value is(). - LfuCache
- 一个 lfu(least frequently used/最不经常使用页置换算法 ) 缓存的实现, 接口参照Hashmap保持一致 根据元素的访问次数进行按分组进行淘汰测试 在访问次数达到设定值时将全体所有的访问次数下降1处理 以使高频数据在一定时间后将过期处理
- LruCache
- LRU 全称是Least Recently Used,即最近最久未使用的意思 一个 LRU 缓存普通级的实现, 接口参照Hashmap保持一致 设置容量之后将最大保持该容量大小的数据 后进的数据将会淘汰最久没有被访问的数据
- LruK
Cache - 一个 LRU-K 缓存的实现, 接口参照Hashmap保持一致 当一个元素访问次数达到K次后, 将移入到新列表中, 防止被析构 设置容量之后将最大保持该容量大小的数据 后进的数据将会淘汰最久没有被访问的数据
- RBTree
- A red black tree implemented with Rust
It is required that the keys implement the
Ordtraits. - Roaring
BitMap - 位图类RoaringBitMap,根据访问的位看是否被占用 本质上是将大块的bitmap分成各个小块,其中每个小块在需要存储数据的时候才会存在 解决经典的是否被占用的问题,不会一次性分配大内存 头部以val / 65536做为索引键值, 尾部分为Array及HashSet结构 当元素个数小于4096时以有序array做为索引, 当>4096以HashSet做为存储
- Slab
- 一个缓存对象的实现, 类似linux中的slab 将一个对象重复循环使用, 避免频繁分配数据的可能 得出的对象可能未重新初始化, 为上一次的最终值, 请按需重新初始化 默认的初始化依赖Default接口, 请实现Default
- Stamp
Timer - Step
Timer - TimerRB
Tree - 计时器轮,模拟时钟格式组成的高效计时器
- Timer
Wheel - 计时器轮,模拟时钟格式组成的高效计时器