MSVC Build Tools v14.51中的C++性能提升

MSVC Build Tools v14.51中的C++性能提升

💡 原文英文,约5800词,阅读约需21分钟。
📝

内容提要

微软C++团队在MSVC Build Tools v14.51中进行了重大优化,提升了编译器性能,特别是在x64和arm64架构上。通过SPEC CPU 2017和CitySample基准测试,显示出相较于v14.50的显著性能提升,主要得益于新引入的SSA循环优化器和SLP向量化技术。

🎯

关键要点

  • 微软C++团队在MSVC Build Tools v14.51中进行了重大优化,提升了编译器性能。

  • 相较于v14.50,MSVC Build Tools v14.51在SPEC CPU 2017和CitySample基准测试中显示出显著性能提升。

  • 新引入的SSA循环优化器和SLP向量化技术是性能提升的主要原因。

  • SPEC CPU 2017基准测试显示,x64和arm64架构的整数和浮点性能均有所提升。

  • CitySample基准测试中,MSVC v14.51在帧时间和渲染线程时间上表现更佳。

  • 新SSA循环优化器替代了旧的循环优化器,提升了可测试性和编译效率。

  • SLP向量化技术将独立的标量指令打包成SIMD指令,提升了性能。

  • SROA(聚合体的标量替换)优化显著改善了结构体的处理效率。

  • 编译器通过提升内存操作的优化,减少了不必要的内存拷贝。

  • 新版本中引入的无条件存储执行和AVX优化提升了特定基准测试的性能。

  • 通过单一调用站点内联和有限调用站点内联,进一步提高了SPEC基准测试的性能。

  • 循环展开和分支消除优化减少了循环开销,提高了代码执行效率。

  • MSVC Build Tools v14.51目前处于预览阶段,已在Visual Studio 2026 Insiders中提供。

延伸问答

MSVC Build Tools v14.51相比于v14.50有哪些性能提升?

MSVC Build Tools v14.51在SPEC CPU 2017和CitySample基准测试中显示出显著性能提升,整数性能在x64上提升5.0%,在arm64上提升6.5%。

新引入的SSA循环优化器有什么优势?

SSA循环优化器提升了可测试性和编译效率,解决了旧优化器的多个缺陷,并提高了编译速度。

SLP向量化技术是如何提升性能的?

SLP向量化技术将独立的标量指令打包成SIMD指令,从而提高了性能,特别是在SPEC CPU 2017基准测试中表现出5%以上的提升。

CitySample基准测试中MSVC v14.51的表现如何?

在CitySample基准测试中,MSVC v14.51在帧时间和渲染线程时间上表现更佳,具体帧时间范围为34.30-34.35毫秒。

MSVC Build Tools v14.51中有哪些内存操作优化?

新版本通过提升内存操作的优化,减少了不必要的内存拷贝,提高了整体性能。

MSVC Build Tools v14.51的预览版本在哪里可以获取?

MSVC Build Tools v14.51目前处于预览阶段,可以在Visual Studio 2026 Insiders中获取。

➡️

继续阅读