#项目
G家出品的Go语言内存版本的Btree实现:https://github.com/google/btree
Btree这样的数据结构,更多是为了应付磁盘读写慢,所以设计成了每次读写磁盘的数量单位至少为一个物理页面。因此,要实现使用Btree的存储引擎,要加一个“页面管理器”模块,这个模块也可以用mmap来做,这些都在我之前的博客有涉及。
所以G家的这个内存版Btree实现,实际在项目里用的应该不多,因为如果定位是“内存里的容器”,有更多别的选择。但是嘛,拿来阅读理解Btree算法总还是不错的。
之所以看到这个项目,是因为这篇文章的推荐:
https://www.scylladb.com/2022/04/27/shaving-40-off-googles-b-tree-implementation-with-go-generics/
Post #196
1.32K