DMMSY 是一个高性能的 C99 单源最短路径 (SSSP) 算法实现,比传统的 Dijkstra 算法实现了显著的加速。该算法发表于 STOC 2025 会议论文,通过使用递归子问题分解代替全局优先队列,克服了 $O(m + n \log n)$ 的复杂度限制,达到了 $O(\log^{2/3} n)$ 的复杂度。
主要特性包括:通过手动内存管理实现零分配设计,优化的压缩稀疏行 (CSR) 布局,以及模块化架构以方便维护。基准测试表明,加速倍数超过 20,000 倍,尤其是在具有 250k–1M+ 节点的图上。
该项目提供了一个基准测试套件用于性能比较,并针对使用 Clang 优化的现代 x86_64 架构设计。它采用双许可模式(MIT 和 Apache 2.0),并欢迎贡献。核心逻辑非常精简(1M 节点约为 800ns),有效消除了排序瓶颈。
## Go 并发哈希表基准测试总结
本文详细介绍了 Go 中几种并发哈希表实现的基准测试比较,包括 `sync.Map`、`xsync.Map`、`cornelk/hashmap`、`alphadose/haxmap` 和 `orcaman/concurrent-map`。目标是在不同的读/写比例和映射大小(100 到 1,000,000 个条目)下提供公平的性能比较。
主要发现表明,在读、写和迭代操作方面,**`xsync.Map` 通常表现最快**,并且在非分片映射中**分配次数最少**。**`sync.Map`** 自 Go 1.24 以来,受益于其 HashTrieMap 实现,提供了出色的读取扩展性,并且是一个强大的通用选择。**`cornelk/hashmap`** 在小尺寸下具有竞争力,但在较大的映射和写密集型工作负载下性能显著下降。**`alphadose/haxmap`** 在只读场景中表现出色,但在写竞争方面存在困难。**`orcaman/concurrent-map`** 由于在分片中使用标准的 Go 映射,因此分配次数为零,但其固定的分片数量限制了可扩展性。
基准测试是在不同的 `GOMAXPROCS` 值和工作负载(从 100% 读取到 75% 读取,并对应相应的写入/删除百分比)下进行的,并且测试了预热和无预热场景。所有库报告的读/写基准测试操作每次分配次数为零。