Crate algorithm

Source

Re-exports§

pub use quadsort::quad_sort;
pub use quadsort::quad_sort_order_by;

Modules§

buf
quadsort

Structs§

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

Traits§

Reinit
Timer

Functions§

get_milltimestamp
get_timestamp

Type Aliases§

DefaultHasher