11 纳秒处理一词:Anagram 优化实录
11 Nanoseconds per Word: Over-Optimizing Anagrams

朋友推荐了一款 Word Ladder 变体游戏,其中包含 Anagram 变换,这激起了我的优化欲。最初用 Rust 实现的解法耗时 173 纳秒/词,我认为这太慢了。通过消除 Vec 分配、将字母计数打包进 u128、切换至 FxHashMap,最终我设计了一套基于 Gödel numbering 的 64 位质数乘积方案,成功将处理时间压缩至 11 纳秒/词。这篇博文详细记录了从字符串排序到指令级并行优化的全过程,展示了如何在 Scrabble 字典中为每个单词构建无冲突的唯一标识符。
在 173 纳秒内,你可以在我的 Macbook Pro M1 上执行大约 4400 条指令,谁有时间等这么久?