-
atomic_hash能够在现代计算机平台上实现无锁并发,支持多达1000万个操作的同时读写,适用于多线程环境下的锁定管理
资源介绍
概括
这是设计为具有高性能,无锁和节省内存的哈希表。 在现代计算机平台中,多个线程可以同时执行高达10M ops / s的读/写/删除操作。 它支持最多2 ^ 32个具有O(1)性能的哈希项,以便从哈希表中成功和不成功地进行搜索。
通过提供最大哈希项编号,atomic_hash计算两个负载因子以匹配预期的冲突率,并创建具有较高负载因子的数组1,具有较低负载因子的数组2和一个用于存储冲突对象的小文件3。 散列节点(不适用于用户数据)的内存池也旨在实现高性能和节省内存。
在此处发布了设计说明(中文): ://blog.****.net/divfor/article/details/44316291
用法
使用以下函数创建一个哈希句柄,以关联其数组和内存池,打印其统计信息或释放它。
hash_t * atomic_hash_create ( unsigned int max_nodes,