3个版本
0.0.4 | 2024年1月10日 |
---|---|
0.0.3 | 2024年1月3日 |
0.0.2 | 2023年12月22日 |
#23 in #pager
45 每月下载次数
在bvr中使用
77KB
2K SLoC
BVR核心
此crate包含BVR分页器的核心功能。
组件
段缓冲区
这些缓冲区用于存储和交互行索引数据。缓冲区可以由文件或流创建。
段
段缓冲区被分为段。段是加载到内存中的最小数据单元。它们目前被配置为1MB大小。
- 对于文件,段按需加载到内存中,基于LRU缓存卸载。
- 对于流,所有段都加载到内存中。
SegBytes, SegStr
通过SegBytes
和SegStr
访问段缓冲区中的数据。它们借用并固定段,防止它从内存中卸载。
索引
LineIndex
用于在行号和字节偏移量之间进行映射。它主要用于回答像“在这个字节偏移量处是哪一行?”和“行号是多少字节偏移量?”等问题。
匹配
LineMatches
用于在缓冲区上存储特定正则表达式的迭代顺序匹配。它们可以被组合成一个单一的LineMatches
。
依赖项
~4.5–6MB
~103K SLoC