亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

.NET4.6中的性能改進

2019-11-14 15:53:42
字體:
來源:轉載
供稿:網友

 .NET 4.6中帶來了一些與性能改進相關的CLR特性,這些特性中有一部分將會自動生效,而另外一些特性,例如SIMD與異步本地存儲(Async Local Storage)則需要對編寫應用的方式進行某些改動。

  SIMD

  Mono團隊一直以他們對SIMD,即單指令流多數據流特性的支持引以為傲。SIMD是一種CPU指令集,它能夠在同一時間對最多8個值進行同一操作。而隨著.NET CLR版本4.6的推出,Windows開發者終于也能夠使用這一特性了。

  為了實際觀察一下SIMD的效果,可以參考一下這個示例。假設你需要通過c[i] = a[i] + b[i]這種形式對兩個數組進行相加,以得到第三個數組。通過使用SIMD,你可以按照以下方式編寫代碼:

for (int i = 0; i < size; i += Vector.Count) {     Vector v = new Vector(A,i) + new Vector(B,i);     v.CopyTo(C,i); }

  請注意這個循環是如何按Vector<int>.Count的取值進行遞增的,根據CPU類型的不同,它的取值可能是4或是8。.NET JIT編譯器將根據CPU的不同生成相應的代碼,以4或8的值對數組進行批量相加。

  這種方式看起來有些繁瑣,因此微軟還提供了一系列輔助類,包括:

  • Matrix3x2 結構
  • Matrix4x4結構
  • Plane結構
  • Quaternion結構
  • Vector 類
  • Vector(T) 結構
  • Vector2結構
  • Vector3結構
  • Vector4結構

  程序集卸載

  恐怕大多數開發者都不知道這一點:.NET經常會對同一個程序集加載兩次。發生這種情況的條件是.NET首先加載了某個程序集的IL版本,隨后又加載了同一程序集的NGEN版本(即預編譯版本)。這種方式對于物理內存來說是相當嚴重的浪費,尤其是對諸如Visual Studio這樣的大型32位應用程序來說更為明顯。

  而在.NET 4.6中,一旦CLR加載了某個程序集的NGEN版本,它會自動清空對應的IL版本所占用的內存。

  垃圾回收

  早先我們曾討論過.NET 4.0中所引入的垃圾回收滯后時間模式,雖然這種方式比起讓GC完全停止一段時間的做法要可靠許多,但對于許多GC場景來說,這種方式仍算不上完整。

  在.NET 4.6中,你將能夠通過一種更精密的方式臨時中止垃圾回收器的運作,新的TryStartNoGCRegion方法允許你指定在小對象以及大對象的堆中需要多少內存。

  如果出現內存不足的情況,運行時將會返回false,或是停止運行,直到通過GC清理得到足夠的內存為止。你可以通過為TryStartNoGCRegion傳入某個標記的方式控制這一行為,如果你成功地進入了某個無GC區域(在過程結束前不允許進行GC),那么在過程結束時必須調用EndNoGCRegion方法。

  在官方文檔中并沒有說明該方法是否是線程安全的,不過考慮到GC的工作原理,你應當盡量避免讓兩個進程同時嘗試改變GC狀態的做法。

  對于GC的另一項改進是它處理pinned對象(即一旦分配后不可移動位置的對象)的方式。雖然在文檔中對此方面的描述有些語焉不詳,但當你固定了某個對象的位置時,通常也會固定其相鄰對象的位置。Rich Lander在文中寫道:

GC將以一種更優化的方式處理pinned對象,因此GC能夠將pinned對象周圍的內存進行更有效地壓縮。對于大量使用pin方式的大規模應用來說,這一改動將極大地改進應用的性能。

  GC對于如何使用較早的幾代中的內存方面也體現出更好的智能性,Rich繼續寫道:

第1代對象升級為第2代對象的方式也得到了改進,以更有效地使用內存。在為某一代分配新的內存空間之前,GC會先嘗試使用可用的空間。同時,在利用可用空間區域創建對象時使用了新的算法,使新分配的空間大小比起從前更接近于對象的大小。

  異步本地存儲

  最后一項改進與性能并沒有直接的關系,但通過有效的利用仍然能達到優化的效果。在異步API還沒有流行起來的年代,開發者可以利用線程本地存儲(TLS)緩存信息。TLS對于某個特定的線程來說就像是一種全局對象,這意味著你可以直接訪問上下文信息并進行緩存,而無需顯式地傳遞某種上下文對象。

  而在async/await模式中,線程本地存儲就變得毫無用武之地了。因為每次調用await的時候,都有可能跳轉至另一個線程。而且即便僥幸避開了這種情況,但其它代碼也有可能跳轉到你的線程中并干擾TLS中的信息。

  新版本的.NET引入了異步本地存儲(ALS)機制以解決這一問題,ALS在語義上等價于線程本地存儲,但它能夠隨著await的調用進行相應的跳轉。這一功能將通過AsyncLocal泛型類實現,其內部將調用CallContext對象用于保存數據。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美性生交xxxxx久久久| 国产日韩欧美影视| 精品久久久久久久久久久久久久| 国产免费一区二区三区在线能观看| 日韩免费在线电影| 色综合久综合久久综合久鬼88| 色婷婷综合久久久久中文字幕1| 亚洲风情亚aⅴ在线发布| 亚洲男女自偷自拍图片另类| 国产精品久久久久久亚洲调教| 精品无人区乱码1区2区3区在线| 欧美亚洲国产精品| 国内精品一区二区三区四区| 欧美国产亚洲视频| 国产亚洲一区二区在线| 国产精品2018| 欧美激情高清视频| 国产精品亚洲自拍| 超薄丝袜一区二区| 91国产精品电影| 亚洲视频电影图片偷拍一区| 神马国产精品影院av| 日韩中文字幕国产精品| 国产欧美中文字幕| 日韩大片免费观看视频播放| 亚洲美女视频网站| 欧美性猛交xxxx黑人猛交| 欧美一区深夜视频| 亚洲伊人久久综合| 亚洲成色777777在线观看影院| 亚洲影院在线看| 国产精品久久婷婷六月丁香| 激情久久av一区av二区av三区| 国产精品国产亚洲伊人久久| 一本大道久久加勒比香蕉| 国产亚洲精品一区二555| 亚洲成人性视频| 一区二区日韩精品| 伊人伊成久久人综合网站| 久热在线中文字幕色999舞| 欧美日韩另类字幕中文| 亚洲国产精品成人一区二区| 精品国产一区二区三区久久| 亚洲欧美成人在线| 在线成人激情黄色| 成人中文字幕+乱码+中文字幕| 国产一区二区三区在线视频| 日韩av免费观影| 国产精品嫩草影院一区二区| 欧美激情视频网站| 欧美激情视频网址| 91国语精品自产拍在线观看性色| 97精品国产91久久久久久| 日韩欧美中文字幕在线播放| 精品一区精品二区| 国产精品一香蕉国产线看观看| 色先锋资源久久综合5566| 欧美一级bbbbb性bbbb喷潮片| 久久人人爽人人爽爽久久| 俺也去精品视频在线观看| 日韩精品视频在线| 亚洲综合色激情五月| 日韩黄在线观看| 欧美区在线播放| 日韩高清av在线| 91在线观看免费网站| 久久国产精品视频| 久久久久成人精品| 激情懂色av一区av二区av| 97成人超碰免| 亚洲综合成人婷婷小说| 欧美高清视频免费观看| 欧美韩日一区二区| 成人免费午夜电影| 国产成人高清激情视频在线观看| 26uuu亚洲伊人春色| 欧美国产激情18| 亚洲丁香久久久| 久久精品亚洲国产| 亚洲女人天堂成人av在线| 97精品欧美一区二区三区| 日韩69视频在线观看| 欧美精品亚州精品| 超薄丝袜一区二区| 亚洲国产精品999| 亚洲激情电影中文字幕| 中文字幕亚洲欧美| 欧美性猛交xxxx免费看久久久| 日韩一中文字幕| 日韩精品久久久久久久玫瑰园| 日韩小视频在线观看| 国产精品96久久久久久又黄又硬| 国产精品视频不卡| 性欧美亚洲xxxx乳在线观看| 亚洲a级在线播放观看| 亚洲欧美福利视频| 成人黄色中文字幕| 成人黄色免费在线观看| 91国产美女视频| 国产成人91久久精品| 538国产精品视频一区二区| 久久久久久久av| 亚洲欧美在线看| 久久国产精品影片| 自拍偷拍亚洲一区| 美女精品视频一区| 全亚洲最色的网站在线观看| 久久久噜噜噜久久中文字免| 欧美—级a级欧美特级ar全黄| 在线观看日韩视频| 国产精品精品国产| 裸体女人亚洲精品一区| 欧美怡红院视频一区二区三区| 久久久免费电影| 欧美日韩亚洲系列| 久久久久久com| 青青草原成人在线视频| 中文字幕av一区中文字幕天堂| 久久99国产精品久久久久久久久| 国产一区二区三区在线看| 中文字幕免费国产精品| 成人性生交大片免费观看嘿嘿视频| 久久噜噜噜精品国产亚洲综合| 成人激情视频在线| 欧美午夜www高清视频| 久久精品国产成人精品| www.欧美精品一二三区| 亚洲国产精品久久久久秋霞不卡| 欧美性生交xxxxxdddd| 亚洲国产精品久久精品怡红院| 久久免费视频网站| 久久久久久亚洲| 日韩免费高清在线观看| 日韩精品电影网| 国产精品第一区| 丰满岳妇乱一区二区三区| 91av在线精品| 中文字幕日韩av| 欧美另类老女人| 亚洲天堂网站在线观看视频| 欧美多人乱p欧美4p久久| 国产精品综合久久久| 91美女福利视频高清| 亚洲大胆美女视频| 精品视频久久久久久| 日本成人在线视频网址| 亚洲成人免费网站| 国产在线视频不卡| 精品国产拍在线观看| 91美女片黄在线观| 国产不卡视频在线| 久久久久国产精品www| 亚洲一区二区国产| 国产精品久久久久久久久久三级| 日本久久久久亚洲中字幕| 国产精品无av码在线观看| 国产精品丝袜一区二区三区| 伦伦影院午夜日韩欧美限制| 久久久久久中文| 这里只有精品在线播放| 国产精品欧美在线| 亚洲乱码一区av黑人高潮| 久久国内精品一国内精品| 精品电影在线观看|