大连仟亿科技
客服中心
  • 电话
  • 电话咨询:0411-39943997
  • 手机
  • 手机咨询:15840979770
    手机咨询:13889672791
网络营销 >更多
您现在的位置:仟亿科技 > 新闻中心 > 行业资讯

程序员有福了 谷歌发布基于 B-Tree 的 C++ 模板库

作者:billionnet 发布于:2013/2/1 19:27:58 点击量:

 程序员有福了,谷歌开源团队近日发布了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 的副本,并会在使用迭代器时自动复位。 

  详细信息:C++ containers that save memory and time

  项目地址:https://code.google.com/p/cpp-btree/



分享到:


评论加载中...
内容:
评论者: 验证码:
  

Copyright@ 2011-2017 版权所有:大连仟亿科技有限公司 辽ICP备11013762-1号   google网站地图   百度网站地图   网站地图

公司地址:大连市沙河口区中山路692号辰熙星海国际2215 客服电话:0411-39943997 QQ:2088827823 42286563

法律声明:未经许可,任何模仿本站模板、转载本站内容等行为者,本站保留追究其法律责任的权利! 隐私权政策声明