跳转到内容
Yuuki学习手记
GitHub

数组与 Map 查找

消息 ID 按 1 到 N 排列。先找最后一条,再找第一条,看看数组路径发生了什么变化。

数组 find 的条件判断次数1,000
Map.get 的 API 调用次数1

两条路径找到同一个消息对象。

另外构建了 1,000 项索引。Map 的内部操作次数由引擎实现决定,这里没有测量耗时。

比较时把构建成本一起算进去

Map 路径先为全部消息建立索引,再调用一次 get。表里的 1 指 API 调用次数,内部的哈希或树查找仍然需要工作。若只查询一次,建立索引的成本也可能占主要部分。

Map 中保存的是同一批消息对象的引用;索引结构本身仍会占用额外内存。这个实验展示计算路径,不据此给出真实耗时排名。

接着读 key、Map 和对象身份 →