百科.dev
全部条目在线工具AI 编程趋势榜开源项目技术资讯提交条目
登录
< 返回工具列表
H

hashmap

> 编程语言
开源

一个 Golang 无锁线程安全的 HashMap,针对最快的读取访问进行优化。

1.9K stars0 点赞0 次浏览
访问官网GitHub

工具介绍

一个 Golang 无锁线程安全的 HashMap,针对最快的读取访问进行优化。

hashmap ## 概述 Golang 的无锁线程安全哈希表,优化了最快的读取访问。 它不是一个通用的哈希表,目前在写入密集的场景下,写入性能较慢。 ## 使用示例 uint8 类型键的哈希表使用示例: ```

m := Newuint8, int m.Set(1, 123) value, ok := m.Get(1) 字符串类型键的哈希表使用示例: m := Newstring, int m.Set("amount", 123) value, ok := m.Get("amount") 使用哈希表统计 URL 请求: m := Newstring, *int64 var i int64 counter, _ := m.GetOrInsert("api/123", &i) atomic.AddInt64(counter, 1) // increase counter ... count := atomic.LoadInt64(counter) // read counter ## 基准测试 以线程安全的方式从哈希表中读取数值类型键比以不安全的方式从标准 Golang map 中读取要快,并且比 Golang 的 `sync.Map` 快三倍: ReadXsyncMapUint-8 924.5n ± ∞ ¹ ReadHashMapUint-8 1.072µ ± ∞ ¹ ReadHaxMapUint-8 1.296µ ± ∞ ¹ ReadGoMapUintUnsafe-8 1.318µ ± ∞ ¹ ReadGoSyncMapUint-8 3.389µ ± ∞ ¹ ReadSkipMapUint-8 4.820µ ± ∞ ¹ ReadGoMapUintMutex-8 32.62µ ± ∞ ¹ 在写入操作发生时从哈希表中读取: ReadHashMapWithWritesUint-8 1.235µ ± ∞ ¹ ReadHaxMapWithWritesUint-8 1.433µ ± ∞ ¹ ReadGoSyncMapWithWritesUint-8 4.503µ ± ∞ ¹ 在没有并发读取的情况下,写入性能: WriteGoMapMutexUint-8 21.72µ ± ∞ ¹ WriteHashMapUint-8 27.99µ ± ∞ ¹ WriteGoSyncMapUint-8 78.43µ ± ∞ ¹


* 技术设计决策是基于存储在外部仓库中的基准测试做出的:

* 库使用一个排序链表和一个切片作为该链表的索引。

[go-benchmark](https://github.com/cornelk/go-benchmark)

Issues· 0 开放

查看全部 Issues在 GitHub 打开

暂无开放 Issues,或尚未同步最近议题。

> 标签

Gofastgogolanghashmap

暂无评论,来聊聊你的看法吧

> 工具信息

发布日期2026年8月1日
最后更新2026年9月17日
分类编程语言
定价开源

> 相关工具

T
TypeScript
JavaScript 的超集,为前端与全栈提供静态类型
P
Python
通用编程语言,广泛用于 Web、数据与 AI
G
Go
Google 推出的简洁高效系统语言