当前位置:网站首页>bihash总结
bihash总结
2022-08-03 09:00:00 【懒少】
官方https://s3-docs.fd.io/vpp/22.10/developer/corearchitecture/bihash.html
Vpp uses bounded-index extensible hashing to solve a variety of exact-match (key, value) lookup problems. Benefits of the current implementation:
Very high record count scaling, tested to 100,000,000 records.
Lookup performance degrades gracefully as the number of records increases
No reader locking required
Template implementation, it’s easy to support arbitrary (key,value) types
以上介绍了bihash的优点
Initializing a bihash table
Call the init function as shown. As a rough guide, pick a number of buckets which is approximately number_of_expected_records/BIHASH_KVP_PER_PAGE from the relevant template instance header-file. See previous discussion.
The amount of memory selected should easily contain all of the records, with a generous allowance for hash collisions. Bihash memory is allocated separately from the main heap, and won’t cost anything except kernel PTE’s until touched, so it’s OK to be reasonably generous.
For example:
my_main_t *mm = &my_main;
clib_bihash_8_8_t *h;
h = &mm->hash_table;
clib_bihash_init_8_8 (h, "test", (u32) number_of_buckets,
(uword) memory_size);
bihash初始化时需要传入buckets大小和memory_size
buckets最优值:你预期存储的记录数除以BIHASH_KVP_PER_PAGE ,BIHASH_KVP_PER_PAGE 是bihash中一个page存储记录的个数,默认是4.假如存储50万记录
500000/4=125000
memory_size:最好就是能存储50万记录,存储解决hash冲突的数据结构,存储buckets,意思是给充足点。bihash 一个记录大小 kv 包含key值和value值。
边栏推荐
猜你喜欢
随机推荐
【LeetCode】101. Symmetric Binary Tree
Redisson实现分布式锁
HCIP练习02(OSPF)
判断根节点是否等于子节点之和
pytorch one-hot 小技巧
greenplum role /user 管理
软体按摩机器人驱动器的设计与仿真
关于Unity自定义Inspector面板的一些自定义编辑器扩展
pytorch one-hot tips
What are pseudo-classes and pseudo-elements?The difference between pseudo-classes and pseudo-elements
多媒体数据处理实验1:算术编码
STP普通生成树安全特性— bpduguard特性 + bpdufilter特性 + guard root 特性 III loopguard技术( 详解+配置)
多媒体数据处理实验2:PCA
timestamp
ArcEngine (4) Use of MapControl_OnMouseDown
0day_Topsec上网行为管理RCE
The window of the chosen data flow
FusionAccess软件架构、FusionAccess必须配置的四个组件、桌面发放流程、虚拟机组类型、桌面组类型
好用的插件
IDEA的database使用教程(使用mysql数据库)









