Daniel Lemire 用极短的代码打破常识:取 M = 2^61 − 1,令 values = [i × M],先插入 set,再逐个判断是否在集合里。如果哈希表真是常数时间,整个过程应接近线性;实测在 Apple M4 Max + Python 3.14 上,n 每翻一倍耗时约翻四倍——n = 16000 时建集合 1072 毫秒、成员检查 1066 毫秒,十万元素建集合要 45 秒。原因既有哈希冲突,也有缓存效应:大 dict 里键、字符串与整数对象每键约占 116 字节,查找频繁错过缓存;同样的字符串到整数查询,dict 从 22 纳秒/键恶化到 202 纳秒/键(九倍),而面向不可变映射的 fastconstmap 每键只需 9 字节,维持在 4–12 纳秒。结论是「O(1)」只是模型而非现实,而模型会给我们带来认知偏差。