自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Visual Studio 2019優(yōu)化新鮮出爐:C++后端更新匯總

新聞 前端
今天我們來匯總一下在最新版本Visual Studio 2019 16.2中開發(fā)團隊帶來的一系列有關(guān)C++后端(Backend)的更新。

今天我們來匯總一下在最新版本Visual Studio 2019 16.2中開發(fā)團隊帶來的一系列有關(guān)C++后端(Backend)的更新。

構(gòu)建時間優(yōu)化

之前的一篇文章我們也講到過,VS開發(fā)團隊通過優(yōu)化構(gòu)建中的鏈接過程,來提升構(gòu)建吞吐率,減少了項目的構(gòu)建時間。通過一系列對比測試,對于大型項目的構(gòu)建,其構(gòu)建效率在DebugInfo模式下提升了近3倍(甚至更多),同時在/INCREMENTAL構(gòu)建模式下,構(gòu)建效率提升了2倍。有圖有真相:

下面是之前沒有提到過的其他優(yōu)化要點

內(nèi)聯(lián)優(yōu)化

當(dāng)一些函數(shù)內(nèi)部存在分支語句并且在一個循環(huán)里被調(diào)用的時候,這些函數(shù)將更多的采用內(nèi)聯(lián)。

代碼生成優(yōu)化

通過將一些通用的數(shù)學(xué)函數(shù)(例如:std::isnan, std::ldiv, std::lldiv)替換為內(nèi)聯(lián)的匯編指令來減少整體運行的overhead。

如果項目的目標(biāo)平臺是x86或者x64,則優(yōu)化器將識別到工作在最底層單元的迭代器指令,并對其進行FMA(Fused Multiply-Add)和constant foldeing優(yōu)化。

迭代器優(yōu)化

對于一些迭代器的單元來說,如果它的大小恰好匹配迭代器的大小,則一些小的迭代循環(huán)(通常小于12次迭代)將被優(yōu)化為:/arch:AVX。

當(dāng)自動迭代在一些包含指針變量的循環(huán)中失敗時,優(yōu)化了生成的代碼序列。

分析優(yōu)化

優(yōu)化了控制流的分析流程,一些已經(jīng)被證明返回true/false的復(fù)雜分支語句將被移除。

增加了一個新的流程敏感的嚴(yán)格指針分析過程。這個指針將在不同的場景中被處理,例如當(dāng)它在當(dāng)前作用域以外被訪問的時候,或者當(dāng)它可以被安全訪問的時候。

其他通用優(yōu)化

當(dāng)一個函數(shù)返回多個值對象時,啟用該函數(shù)的Copy Elision。

當(dāng)使用LTCG編譯時,優(yōu)化了指針相減的操作流程。請注意:在某些特殊情況下,一個指針減法操作包括一個可以被優(yōu)化掉的除法操作。

生成并簡化了針對x86或x64平臺上的FMA指令。這些包括對一些全局迭代器類型的變量啟用FMA。

優(yōu)化對C++ 20里的spaceship操作符的代碼生成過程。說到這個spaceship操作符,這里簡單說明一下:

spaceship操作符被納入到了最新的C++20標(biāo)準(zhǔn)中,可以通過啟用/std:c++latest選項啟用這個操作符。此操作符可以在一些對比函數(shù)(例如 std::strong_ordering::less)和編譯期對常量的計算過程進行更加有效常量展開。

優(yōu)化了memset代碼,具體來說,就是將展開定義內(nèi)聯(lián)替換為調(diào)用更快的CRT版本。在一些包含常量字節(jié)(例如:0xABABABAB)的循環(huán)中,也會替換為CRT版本的memset。

合并了完全相同的異常處理狀態(tài),減少了C++程序的大小。請注意,當(dāng)前這個優(yōu)化點僅可以用在FrameHandler4下。當(dāng)Visual Studio 2019 16.3發(fā)布時,這個FrameHandler4將成為默認(rèn)配置。

大白話

說了這么多對于我來說近乎天書般的優(yōu)化點,我反正是有點懵逼了,可能是因為我的功力不夠吧。

如果用白話對這篇文章的內(nèi)容做一個總結(jié)的話:行了行了,VS宇宙最強,好了吧!

總結(jié)

一如既往的:請大家試試VS2019。有任何問題,請向開發(fā)團隊寫信。

責(zé)任編輯:張燕妮 來源: 頭條科技
相關(guān)推薦

2012-04-26 10:56:05

jQuery效果

2013-05-09 10:30:44

開源軟件開源項目

2011-11-21 11:27:30

品牌營銷

2010-08-02 11:09:45

Flex4

2019-03-15 15:37:51

自動駕駛排名企業(yè)

2009-09-08 13:46:13

CCNA中文版

2013-04-11 13:59:39

2013-11-14 10:34:57

Android 4.4特性

2015-04-13 18:29:54

H3 BPM

2012-09-26 09:26:21

2021-10-16 07:15:40

勒索軟件攻擊數(shù)據(jù)泄露

2012-12-21 10:32:42

網(wǎng)易電影票客戶端

2010-08-12 14:23:05

Flexbuilder

2018-08-08 05:38:12

云計算云服務(wù)

2011-05-19 17:00:56

Web框架

2015-08-24 16:12:08

DefCon黑客大會CTF決賽

2023-07-27 18:33:08

Go薪資JS

2013-04-18 15:42:35

OS X 10.8.4
點贊
收藏

51CTO技術(shù)棧公眾號