谷歌发布基于B-Tree的C++模板库
来源:互联网 发布:部落冲突金矿升级数据 编辑:程序博客网 时间:2024/05/24 16:16
谷歌发布基于B-Tree的C++模板库
http://www.csdn.net/article/2013-02-04/2814078-C++-Btree
Google数据结构c++数据库开源
摘要:谷歌开源团队近日发布了C++ B-Tree,这是一个C++模板库,实现了基于B-tree数据结构的有序内存容器。B-tree(多路搜索树,并不是二叉的)是一种常见的数据结构。使用B-tree结构可以显著减少定位记录时所经历的中间过程,从而加快存取速度。
谷歌开源团队近日发布了C++ B-Tree,这是一个C++模板库,实现了基于B-tree数据结构的有序内存容器。类似于STL的map、set、multimap和multiset模板,C++ B-tree也提供了btree_map、btree_set、btree_multimap和btree_multiset等模板。
B-tree(多路搜索树,并不是二叉的)是一种常见的数据结构。使用B-tree结构可以显著减少定位记录时所经历的中间过程,从而加快存取速度。这个数据结构一般用于数据库的索引,综合效率较高。
由于B-trees可以保持磁盘寻道到最低限度,通常作为二次存储数据结构。对于内存中数据结构来说,将缓存未命中率保持在最低限度,可以产生更高的性能。C++ B-tree在搜索树时,通过在每个节点执行多个键比较,更好地利用了缓存。缓存行为的改善,可以使访问大型容器时的性能有显著提升。
谷歌开源团队同时也表示,C++ B-tree容器也不是没有缺点,与标准STL容器不同的是,修改C++ B-tree容器,会令所有未在该容器中的迭代器失效。出于这个原因,谷歌在该库中还增加了一个“安全”容器版本,安全容器中的迭代器会保存当前key的副本,并会在使用迭代器时自动复位。
项目地址:https://code.google.com/p/cpp-btree/ (讨论:ycombinator)
>>>点击下载
原文转自:ITeye
相关链接:Facebook开源C++组件库Folly
- 谷歌发布基于B-Tree的C++模板库
- 谷歌发布基于B-Tree的C++模板库
- 发布基于T4模板引擎的代码生成器[Kalman Studio]
- Visual C 基于模板的类
- BTree,B-Tree,B+Tree,B*Tree的数据结构
- B-tree的代码实现 - c / c++ 版本
- B-tree的代码实现 - c / c++ 版本
- B-tree的代码实现 - c / c++ 版本
- 【牛腩新闻发布系统】B/S的和C/S
- B- Tree 的实现
- a^b%c问题 ---模板
- 关于索引的B tree B-tree B+tree B*tree 详解结构图
- 关于索引的B tree B-tree B+tree B*tree 详解结构图( 二)
- 关于索引的B tree B-tree B+tree B*tree 详解结构图
- 关于索引的B tree B-tree B+tree B*tree 详解结构图( 二)
- 关于索引的B tree B-tree B+tree B*tree 详解结构图
- 关于索引的B tree B-tree B+tree B*tree 详解结构图
- 谷歌正式发布基于X86的Android L模拟器
- JSTL标签库
- android 系统 makefile文件(Android.mk)组织结构
- iOS学习之iOS沙盒(sandbox)机制和文件操作(一) .
- mongodb管理Security and Authentication
- 十个Python陷阱(4-7)
- 谷歌发布基于B-Tree的C++模板库
- pivot(行转列)与unpivot(列转行)
- iOS学习之iOS沙盒(sandbox)机制和文件操作(二) .
- 记录遗忘,记录生活。
- UML类图与类的关系详解
- Linux用户、用户组、文件权限 【命令实战】
- Tesseract开源项目
- JSTL Function详解
- shell 日期运算 指定日期