首页 > 基础资料 博客日记
【一个无聊问题的答案】golang 中的 map,当元素少于多少时,从数组中顺序查找比 hash 查找还快?
2026-05-08 10:00:03基础资料围观9次
这篇文章介绍了【一个无聊问题的答案】golang 中的 map,当元素少于多少时,从数组中顺序查找比 hash 查找还快?,分享给大家做个参考,收藏极客资料网收获更多编程知识
作者:张富春(ahfuzhang),转载时请注明作者和引用链接,谢谢!
如果我定义了 map[key]value,当 key 是 int8, int16, int32, int64, string 等类型时:
是否存在一种可能:当 map 中的元素小于某个边界时,从 map 中查找一个元素,还不如从一个 []type 的数组中查找更快?
以下是我的测试结果。
(元素个数在 边界内,顺序查找快于 hash 查找)
Macos + arm64 + m2, golang 1.26.1
整数类型
数据类型 |
边界 |
|---|---|
| int8 | 30 |
| int16 | 35 |
| int32 | 28 |
| int64 | 23 |
字符串类型
key 长度 |
边界 |
|---|---|
| 8 | 6 |
| 16 | 5 |
| 32 | 6 |
| 64 | 6 |
| 128 | 8 |
| 256 | 8 |
| 512 | 9 |
| 1024 | 16 |
Linux + amd64 + Intel(R) Core(TM) Ultra 7 265KF(4.5GHz), golang 1.26.2
整数类型
数据类型 |
边界 |
|---|---|
| int8 | 47 |
| int16 | 56 |
| int32 | 31 |
| int64 | 29 |
字符串类型
key 长度 |
边界 |
|---|---|
| 8 | 4 |
| 16 | 3 |
| 32 | 3 |
| 64 | 4 |
| 128 | 8 |
| 256 | 8 |
| 512 | 11 |
| 1024 | 17 |
这能有啥用?
下一步我将优化程序中 key 少于某个边界的 map.
文章来源:https://www.cnblogs.com/ahfuzhang/p/19991770
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:jacktools123@163.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:jacktools123@163.com进行投诉反馈,一经查实,立即删除!
标签:


