PackedInts.Reader
Reader
定义了如何解码的过程,其子类Mutable
还附加定义了设置源数据
的过程。
大的层面编解码存在紧凑型
和对齐型
两种方式,对齐型速度更快,但是存在空间浪费。
PackedInts.Writer
这里简单解释下iterations
的含义。
一般内存中积累1024B大小的数据时,就一次flush到文件中存储下来,这样写入效率会更高。
一个iteration
(迭代批次)表示xxx个字节正好能够表示xxx个源数据(每个源数据需要xxx个Bit位来表达)。
比如 7个byte正好能够表示8个源数据(每个源数据需要7Bit)。
具体可以看https://blog.csdn.net/gs_albb/article/details/118877893
代码也非常简单,可见 github