灰鴿子遠程控制軟件

標題: Microsoft在.Net中探索“安全”手動內存管理 [打印本頁]

作者: admin    時間: 2017-7-29 20:16
標題: Microsoft在.Net中探索“安全”手動內存管理
微軟研究部項目Snowflake將手動記憶管理和垃圾回收整合在一起,為開發商提供“兩個世界最好的”Microsoft在.Net中探索“安全”手動內存管理
(, 下載次數: 817)
Microsoft Research一直在.Net運行時集成安全的手動內存管理與垃圾收集(GC)。目標是為開發人員提供自動內存管理的便利性和安全性,并通過手動釋放內存來提高性能的機會。

這項稱為Project Snowflake的工作是本周由微軟研究院和劍橋大學和普林斯頓大學的合著者發表的論文的主題。使用Snowflake,程序員可以在GC堆或手動堆中分配對象之間進行選擇。 Snowflake將開源.Net運行時與手動管理內存的功能結合在一起,而不會影響性能或安全性。
現有應用程序使用GC堆未修改運行,而不會降低性能。

研究人員說:“我們的.Net CoreCLR實現在實際應用中的實驗結果顯示出顯著的性能提升,特別是在多線程情況下:峰值工作組節省3倍,運行時間提高2倍。

Microsoft的手動內存管理模型基于手動對象的唯一所有者的概念,堆棧或堆中的位置僅包含對分配在手動堆上的對象的引用。引入屏蔽的概念,以實現手動對象​​的安全并發共享。屏蔽在本地線程存儲中創建狀態,以防止在使用對象時進行解除分配。

研究人員說,盡管垃圾收集器(如.Net GC)通過快速線程局部碰撞分配和年輕物體的收集來提供高吞吐量,但研究表明,與手動內存管理相比,GC可以引入性能開銷。他們解釋說,這些開銷在大數據分析和實時流處理應用中被放大,部分原因是需要追蹤大堆。

研究人員指出,“隨著現代服務器利用更大的記憶,這種趨勢可能會持續下去,數千吉字節甚至幾兆字節的大小已經很普遍了。手動內存管理通過避免跟蹤對象圖來釋放對象來解決問題,并允許程序員使用自己的對象生命周期知識來釋放對象在程序中的特定位置。根據研究人員的說法,這提高了吞吐量和內存使用率。但手動內存管理“通常不安全”,可能導致崩潰和漏洞。它也取消了GC的生產效益。

Project Snowflake在Microsoft的開源.NET實現(稱為.Net Core)中修改CoreCLR運行時,并使用手動內存的API擴展了標準庫。靈活的編程模型被用于手動存儲器管理,允許在任意程序位置分配和釋放對象,并且在多個線程之間并發和安全地共享對象。

微軟的設計不會對垃圾收集或寫入障礙等操作造成任何開銷。要優化應用程序的程序員必須逐步更改代碼以在手動堆中分配對象并顯式地釋放它們。手動管理的對象保證完整的類型和時間安全性,包括在并發訪問的情況下。根據報告,開發人員可以獲得動態受管理的異常情況,但不會出現任何崩潰或安全​​漏洞。












歡迎光臨 灰鴿子遠程控制軟件 (http://www.dumiaotech.com/) Powered by Discuz! X3.4
主站蜘蛛池模板: 亚洲精品中文字幕无码蜜桃| 无码播放一区二区三区| 精品久久久久久无码人妻| 亚洲精品无码专区2| 人妻丰满熟妇AV无码区乱| 亚洲AV无码一区二区三区久久精品| 无码的免费不卡毛片视频| 无码精品黑人一区二区三区| 国产精品成人无码免费| 久久久久久亚洲Av无码精品专口 | 国产AV无码专区亚洲AV手机麻豆| 久久成人无码国产免费播放| 特级无码毛片免费视频| 久久久久无码国产精品一区 | 综合无码一区二区三区| 一本大道在线无码一区| 日日麻批免费40分钟无码| 一本无码中文字幕在线观| 免费看无码自慰一区二区| 92午夜少妇极品福利无码电影| 国产成A人亚洲精V品无码| 久久久精品无码专区不卡| 狠狠久久精品中文字幕无码 | 免费无码一区二区三区蜜桃| 亚洲AV无码一区二区三区网址| 18禁无遮挡无码国产免费网站 | 国产成人无码区免费网站| 无码人妻少妇伦在线电影| 久久久久无码精品国产app | 亚洲AV永久无码精品| 久久精品无码一区二区日韩AV| 精品无码中出一区二区| 无码国产精品一区二区高潮| 在线无码午夜福利高潮视频| 97在线视频人妻无码| 亚洲?V无码乱码国产精品| 国产网红主播无码精品 | 韩日美无码精品无码| 国产AⅤ无码专区亚洲AV| 中文有码vs无码人妻| 亚洲av福利无码无一区二区 |