解散
介绍
Unodb是一种自适应的基数树实现,在我的操场上完成了各种C ++工具和构想。 我试图描述从中学到的一些知识。
要求
该代码使用SSE4.1内部函数(Nehalem和更高版本)。 这与仅需要SSE2的原始ART纸相反。
注意:由于这是我的个人项目,因此仅支持GCC 10和LLVM 11编译器。 如果您想尝试此操作并需要较低的受支持的编译器版本,请给我留言。
用法
所有声明都存在于unodb命名空间中,在以下内容unodb其省略。
当前唯一支持的密钥类型是std::uint64_t ,别名为key 。 但是,通过用所需的密钥类型实例化art_key类型并根据ART论文对art_key::make_binary_comparable进行特殊化,添加新的密钥类型应该相对容易。
值不透明地处理。 它们作为value_view非所有者对象value_view ,该对象是gsl::s
1