You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

MSVC 17.1.0中AVX2代码因printf字符串长度导致exp调用性能暴跌

MSVC 17.1.0 AVX2编译下exp/expf性能随printf字符串长度异常波动的问题

问题现象

使用Microsoft C编译器(MSVC 17.1.0)开启AVX2浮点代码生成时,发现异常性能波动:仅修改printf语句中字符串的长度(按8字节倍数调整),调用系统库exp/expf的AVX2代码运行性能会出现3-40倍的暴跌。

复现与验证

  • 基于@njuffa的快速互补误差函数测试框架编写了**最小可复现示例(MRE)**代码
  • 验证确认:该现象仅在MSVC中出现,GCC和Intel编译器无此问题

额外性能观察

  • 内部采用双精度计算的实现,比纯单精度实现快约2倍;但在随机数据场景下,这一优势会明显降低

猜测方向

目前怀疑该问题可能与MMX数据残留、L1缓存未对齐导致流水线停滞有关,但无法确定具体根源。

请求

  1. 恳请其他MSVC用户复现该现象,并协助分析问题根源
  2. 寻求提升GCC编译性能的额外参数建议

内容的提问来源于stack exchange,提问作者Martin Brown

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.24 17:03:15