首页 > 基础资料 博客日记

【一个无聊问题的答案】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进行投诉反馈,一经查实,立即删除!

标签:

相关文章

本站推荐

标签云