谷歌发布基于B-Tree的C++模板库
2013-04-24 10:06
239 查看
谷歌发布基于B-Tree的C++模板库
http://www.csdn.net/article/2013-02-04/2814078-C++-Btree
发表于2013-02-04 09:00| 10294次阅读| 来源ITeye| 32 条评论|
作者wangguo
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++模板库
- 谷歌发布基于机器学习的Android APP安全检测系统:Google Play Protect
- 谷歌发布的首款基于HTTP/2和protobuf的RPC框架:GRPC
- 跨平台网络通信与服务器框架 acl 3.2.0 发布,acl_cpp 是基于 acl 库的 C++ 库
- 谷歌发布的首款基于HTTP/2和protobuf的RPC框架:GRPC
- 发布一个基于 Reactor 模式的 C++ 网络库
- Google发布基于xUnit的C++测试框架
- Google基于开源的新C++测试框架发布
- 发布一个基于 Reactor 模式的 C++ 网络库
- 分享:TreeFrog 1.2 发布,基于 C++/QT 的 Web 框架
- 基于C++和Lua的移动游戏引擎Leadwerks 3发布
- ROS学习(基于Ubuntu 15.04 和ROS Jade)第三章 ROS核心教程 之 11 编写简单的消息发布器和订阅器 (C++)
- 谷歌正式发布基于X86的Android L模拟器
- 分享:TreeFrog 1.3 发布,基于 C++/QT 的 Web 框架
- 基于ros---一个完整的实现topic 发布和监听的类和msg的简单使用(使用c++)
- C++google基于开源的新c++测试框架发布
- 基于 Clang 的 C/C++ SonarQube 插件发布
- Eigen 3.1.3 发布,线性算术的C++模板库
- 发布一个基于 Reactor 模式的 C++ 网络库
- 谷歌发布的首款基于HTTP/2和protobuf的RPC框架:GRPC