AVX2 is slower than SSE2-4.x under Windows ARM emulation
Hacker News
The author investigates whether compiling apps for AVX2 improves performance on Windows ARM via Prism emulation, only to discover that it is actually slower than using SSE2-4.x due to emulation overhead.
在 Windows ARM 模擬環境下 AVX2 的效能慢於 SSE2-4.x
Hacker News
10 天前
AI 生成摘要
我原本以為針對 AVX2 編譯的應用程式在 Windows ARM 的 Prism 模擬下會因為寬指令集補償而維持效能,但我錯了。這篇文章解釋了我如何發現 AVX2 實際上比 SSE2-4.x 慢,並分享了相關的測試數據與原因。
此外,針對 ARM 陣營為何在寬向量支援上進度緩慢,社群展開了技術性的探討。雖然 ARM 推出了 SVE 與 SVE2 等可變長度向量擴展,理論上能支援高達 2048 位元的運算,但目前在消費級市場(如 Apple 或 Qualcomm 的晶片)中,硬體實作仍多停留在 128 位元。這造成了軟體開發者的兩難:即便 SVE 提供了優異的遮罩與預測功能,但若硬體底層的執行單元寬度不足,其效能便難以與成熟的 x86 向量指令集匹敵。部分評論者認為,這正是為何在 ARM 平台上,原生編譯始終優於任何形式的模擬,因為模擬層難以跨越暫存器寬度不對等的物理限制。
最後,社群達成了一項共識:SIMD 指令集早已不限於單純的數學運算,現代編譯器利用這些擴展進行自動向量化,能顯著提升雜湊表查詢、分支代碼優化及各類數據處理的效率。因此,AVX2 在模擬器上的頹勢並非指令集本身的缺陷,而是反映了當前 ARM 桌面硬體在追趕 x86 高階向量效能時仍存在的斷層。