Go 1.27 實驗性 SIMD 包發威:純 Go 重寫 TurboPFor 效能反超 C 語言庫
開發者運用 Go 1.26 SIMD 新特性並藉助 AI 發現的彙編技巧重構 C 語言壓縮庫並實現效能反超的深度實戰文。
• Debian Code Search 作者 Michael Stapelberg 利用 Go 1.26/1.27 引入的實驗性 simd/archsimd 包,徹底重寫核心壓縮庫,成功刪除專案中最後一行 cgo 程式碼。 • 在未動用 SIMD 前,透過減少記憶體配置與泛型位寬特化將基礎效能提升至 C 語言庫的 76% 以上,讓編譯器把迴圈「焊死」為編譯期常數。 • 藉助 AVX2 垂直布局同步處理多個無數位元整數,直接帶來基准效能的 3 倍躍升。 • AI 助手 Claude 精準識別出編碼瓶頸,提出基於 GF2P8AFFINEQB 與 VPOPCNTB 的位置彙編計數正交變換優化,讓單值處理指令數暴降並再度翻倍。 • 重寫後的 Go 編碼器最終反超歷史 cgo 版本,運行時指令吞吐量高達每週期 7 條指令(7 IPC),極度逼近現代 CPU 的理論上限。
「編譯器優化並非單調遞增,理解其副作用與底層硬體特性同樣重要。」
來源:Tony Bai
閱讀原文 ↗