起航学习网

- 让每个人都能学到最前沿新知识、新技能!
起航学习网
当前位置: 起航学习网 > 短期培训 > 编程语言 > 2019年C++后端更新有哪些

2019年C++后端更新有哪些

时间:2019-08-13 13:38:09来源:编程网 作者:IT培训网 已有: 名学员访问该课程

  快捷搜索:C++后端(1)

前言:spaceship操作符被纳入到了最新的C++20标准中,可以通过启用/std:c++latest选项启用这个操作符。此操作符可以在一些对比函数(例如 std::strong_ordering::less)和编译期对常量的计算过程进行更加有效常量展开。

Visual Studio 2019优化新鲜出炉:C++后端更新汇总!

今天我们来汇总一下在最新版本Visual Studio 2019 16.2中开发团队带来的一系列有关C++后端(Backend)的更新。

构建时间优化

之前的一篇文章我们也讲到过,VS开发团队通过优化构建中的链接过程,来提升构建吞吐率,减少了项目的构建时间。通过一系列对比测试,对于大型项目的构建,其构建效率在DebugInfo模式下提升了近3倍(甚至更多),同时在/INCREMENTAL构建模式下,构建效率提升了2倍。有图有真相:

2019年C++后端更新有哪些_www.epx365.cn

下面是之前没有提到过的其他优化要点

内联优化

当一些函数内部存在分支语句并且在一个循环里被调用的时候,这些函数将更多的采用内联。

代码生成优化

通过将一些通用的数学函数(例如:std::isnan, std::ldiv, std::lldiv)替换为内联的汇编指令来减少整体运行的overhead。

如果项目的目标平台是x86或者x64,则优化器将识别到工作在最底层单元的迭代器指令,并对其进行FMA(Fused Multiply-Add)和constant foldeing优化。

迭代器优化

对于一些迭代器的单元来说,如果它的大小恰好匹配迭代器的大小,则一些小的迭代循环(通常小于12次迭代)将被优化为:/arch:AVX。

当自动迭代在一些包含指针变量的循环中失败时,优化了生成的代码序列。

分析优化

优化了控制流的分析流程,一些已经被证明返回true/false的复杂分支语句将被移除。

增加了一个新的流程敏感的严格指针分析过程。这个指针将在不同的场景中被处理,例如当它在当前作用域以外被访问的时候,或者当它可以被安全访问的时候。

其他通用优化

当一个函数返回多个值对象时,启用该函数的Copy Elision。

当使用LTCG编译时,优化了指针相减的操作流程。请注意:在某些特殊情况下,一个指针减法操作包括一个可以被优化掉的除法操作。

生成并简化了针对x86或x64平台上的FMA指令。这些包括对一些全局迭代器类型的变量启用FMA。

优化对C++ 20里的spaceship操作符的代码生成过程。说到这个spaceship操作符,这里简单说明一下:

spaceship操作符被纳入到了最新的C++20标准中,可以通过启用/std:c++latest选项启用这个操作符。此操作符可以在一些对比函数(例如 std::strong_ordering::less)和编译期对常量的计算过程进行更加有效常量展开。

优化了memset代码,具体来说,就是将展开定义内联替换为调用更快的CRT版本。在一些包含常量字节(例如:0xABABABAB)的循环中,也会替换为CRT版本的memset。

合并了完全相同的异常处理状态,减少了C++程序的大小。请注意,当前这个优化点仅可以用在FrameHandler4下。当Visual Studio 2019 16.3发布时,这个FrameHandler4将成为默认配置。

大白话

说了这么多对于我来说近乎天书般的优化点,我反正是有点懵逼了,可能是因为我的功力不够吧。

如果用白话对这篇文章的内容做一个总结的话:行了行了,VS宇宙最强,好了吧!

总结

一如既往的:请大家试试VS2019。有任何问题,请向开发团队写信。

2019年C++后端更新有哪些_www.epx365.cn

来源地址:http://www.epx365.cn/peixun/software/201953768.html

来源标题:2019年C++后端更新有哪些


你也许会喜欢如下的文章?
(责任编辑:IT培训网)
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
------分隔线----------------------------
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 验证码:点击我更换图片
培训学校
IT培训网 访问该机构站点 报名留言 加为好友 用户等级:注册会员 用户级别:10 机构名称:IT培训网 联 系 人:罗老师 联系电话: 联系手机:13783581536 在线客服:起航学习网客服 在 线 QQ:起航学习网客服 电子邮件:3158895217@qq.com 网站域名:http://www.cnitedu.cn 注册时间:2016-07-18 11:07 最后登录:2019-08-13 15:08