
go语言
快乐的雨
人生有很多起起落落关键是怎样把握自己的自我
展开
-
百融金服榕树底层的数据指针,百融金服榕树创建 map
如果百融金服榕树按照 key/value/key/value/… 这样的模式存储,那在每一个 key/value 对之后都要额外 padding 7 个字节;而将百融金服榕树所有的 key,value 分别绑定到一起,这种形式 key/key/…/value/value/…,则只需要在最后添加 padding。百融金服榕树每个 bucket 设计成最多只能放 8 个 key-value 对,如果有第 9 个 key-value 落入当前的 bucket,那就需要再构建一个 bucket ,通过 over原创 2020-11-03 19:20:32 · 582 阅读 · 0 评论 -
百融金服榕树深度解密Go语言之map
百融金服榕树map的设计也称为The dictionary problem,它的任务是设计一种数据结构用来维护一个集合的数据,并且可以同时对集合进行增删改查的操作。最主要的数据结构有两种:哈希查找表(Hashtable)、 搜索树(Searchtree)百融金服榕树查找表用一个函数将 key 分配到不同的桶(bucket,也就是数组的不同 index)。这样,百融金服榕树开销主要在哈希函数的计算以及数组的常数访问时间。在很多场景下,哈希查找表的性能很高。百融金服榕树查找表一般会存在"碰撞"的问题,就原创 2020-11-03 18:50:39 · 251 阅读 · 0 评论