.Net 7 的 R2R,Crossgen2是什么?

楔子

來下這些概念

R22,Crossgen2這兩個東西,跟前面講的AOT和CLR有異曲同工之妙,到底什么呢?本篇來看下。

R2R

R2R(ReadyToRun),是一種結合了AOT和CLR編譯模式,取其優點,拋其缺點的一種編譯方式。

具體的呢,R2R包含了本地機器碼編譯(AOT)和即時編譯(JIT),R2R把一些函數編譯的最佳結果存儲在DLL或者Exe里面,下次直接進行調用。而沒有被編譯的函數,則調用RyuJit進行編譯,視乎情況而定是否保存結果。這樣就導致了,R2R的特殊編譯模式。而AOT的缺點比如:需要完全匹配的編譯設置,放棄許多優化,并且在跨模塊通用虛擬方法實現存在麻煩的情況下得以通過JIT即時來解決。而JIT的缺點,比如第一次啟動較慢,無論什么函數都要來一遍即時編譯等等都得以通過AOT解決。

兩相互補,完美配合,應該是微軟的初衷。

Crossgen2

Crossgen2 生成包含 CoreCLR 運行時的代碼和數據結構的 ReadyToRun 模塊.

簡單點,這個工具就是生成R2R格式的文件,以供CLR按照既定的格式進行運行和編譯。

而AOT的編譯器ILC,則是與crossgen2共享代碼庫的

終章

ILC和Crossgen2是兩個工具,分別生成AOT目標文件和R2R格式文件。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/281109.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/281109.shtml
英文地址,請注明出處:http://en.pswp.cn/news/281109.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Java流

流分類 字節流字符流輸入流InputStreamReader輸出流OutputStream WriterInputStream:BufferedInputStream、DataInputStream、ObjectInputStreamOutputStream:BufferedOutputStream、DataOutputStream、ObjectOutputStream、PrintStream 標準流: System.in 、Syst…

Win7安裝OnlyOffice(不使用Docker)

原文同步自作者博客:https://www.daxueyiwu.com/post/741 1、安裝準備 (1)安裝Elang: 【注意事項】 a)Elang是為了給RabbitMQ使用的,因此在安裝Elang之前應確定RabbitMQ的版本及其所需的Elang版本。RabbitMQ的地址…

geek_享受How-To Geek用戶樣式腳本的好處

geekMost people may not be aware of it but there are two user style scripts that have been created just for use with the How-To Geek website. If you are curious then join us as we look at these two scripts at work. 大多數人可能不知道它,但是已經創…

.NET Core統一參數校驗、異常處理、結果返回

我們開發接口時,一般都會涉及到參數校驗、異常處理、封裝結果返回等處理。如果每個后端開發在參數校驗、異常處理等都是各寫各的,沒有統一處理的話,代碼就不優雅,也不容易維護。所以,我們需要統一校驗參數,…

Memcached 在linux上安裝筆記

第一種yum 方式安裝 Memcached 支持許多平臺:Linux、FreeBSD、Solaris、Mac OS,也可以安裝在Windows上。 第一步 Linux系統安裝memcached,首先要先安裝libevent庫 Ubuntu/Debian sudo apt-get install libevent libevent-deve 自動下…

onlyoffice回調函數controller方式實現

原文同步自作者博客:https://www.daxueyiwu.com/post/706 springboot實現的onlyoffice協同編輯網盤項目可以去作者博客。 上代碼: //新建報告GetMapping("report/createReport")public String CreatReport(HttpServletRequest request,Stri…

讀Bilgin Ibryam 新作 《Dapr 是一種10倍數 平臺》

Bilgin Ibryam 最近加入了開發者軟件初創公司Diagrid Inc,他是Apache Software Foundation 的 committer 和成員。他也是一個開源的布道師,并且是書籍 Kubernetes設計模式 和 Camel Design Patterns 的作者。早在2020年初 提出的Multi-Runtime Microserv…

如何在iPhone或iPad上使用Safari下載文件

Khamosh PathakKhamosh PathakIn your work or personal life, you’ll sometimes need to download a file on your iPhone or iPad. Using the new feature introduced in iOS 13 and iPadOS 13, you can now do this directly in Safari. No third-party app needed! 在工作…

java版左右手桌面盯盤軟件dstock V1.0

V1.0功能比較簡陋,先滿足自己桌面盯盤需要 V1.0 版本功能介紹: 1. 1s實時刷新盯盤數據 主要市面上的,符合我要求的桌面應用要VIP,窮啊,還是月月付,年年付,還是自己搞吧! 2. 配置文件配置股票…

放大倍數超5萬倍的Memcached DDoS反射攻擊,怎么破?

歡迎大家前往騰訊云社區,獲取更多騰訊海量技術實踐干貨哦~ 作者:騰訊游戲云 背景:Memcached攻擊創造DDoS攻擊流量紀錄 近日,利用Memcached服務器實施反射DDoS攻擊的事件呈大幅上升趨勢。DDoS攻擊流量首次過T,引發業界熱…

C# WPF TabControl控件用法詳解

概述TabControl我之前有講過一節,內容詳見:C# WPF TabControl用法指南(精品),上節主要講解了tabcontrol控件的左右翻頁,以及頁面篩選,以及數據綁定等內容,這節內容繼續接續上節內容進行擴展講解&#xff0c…

pixel 解鎖_如何在Google Pixel 4和Pixel 4 XL上禁用面部解鎖

pixel 解鎖Justin Duino賈斯汀杜伊諾(Justin Duino)Face Unlock is one of the Google Pixel 4 and Pixel 4 XL’s flagship features. But if the facial recognition is a form of biometric security you’re uncomfortable with, you can delete your face data right off …

【實戰】將多個不規則多級表頭的工作表合并為一個規范的一維表數據結果表...

最近在項目里,有個臨時的小需求,需要將一些行列交叉結構的表格進行匯總合并,轉換成規范的一維表數據結構進行后續的分析使用。從一開始想到的使用VBA拼接字符串方式,完成PowerQuery的M語言查詢字符串,然后轉換成使用插…

#if defined(__cplusplus)

由于C編譯器需要支持函數的重載,會改變函數的名稱,因此dll的導出函數通常是標準C定義的。這就使得C和C的互相調用變得很常見。但是有時可能又會直接用C來調用,不想重新寫代碼,讓標準C編寫的dll函數定義在C和C編譯器下都能編譯通過…

happiness[國家集訓隊2011(吳確)]

【試題來源】 2011中國國家集訓隊命題答辯【問題描述】 高一一班的座位表是個n*m的矩陣,經過一個學期的相處,每個同學和前后左右相鄰的同學互相成為了好朋友。這學期要分文理科了,每個同學對于選擇文科與理科有著自己的喜悅值,而一…

sketch怎么移動圖層_什么是Photoshop Express,Fix,Mix和Sketch移動應用程序?

sketch怎么移動圖層Adobe’s approach to mobile apps seems to be “The More, The Better”. Right now, there are five Photoshop branded apps available for iOS and Android. Adobe的移動應用程序方法似乎是“越多越好”。 目前,有五個適用于iOS和Android的P…

imessage_如何在iPhone和iPad上的iMessage組中提及某人

imessageKhamosh PathakKhamosh PathakSometimes, it’s difficult to get someone’s attention in a large iMessage group chat on your iPhone or iPad. However, if you mention that person specifically in a message, your friend will receive a notification about i…

點擊右側導航欄,實現iframe嵌入子頁面中div,滑動到最上面

2019獨角獸企業重金招聘Python工程師標準>>> // 點擊對應的nav里的li標簽,頁面就滾動到哪里 $(.title-list > li).click(function(event) {$(this).addClass(active).siblings().removeClass(active);//li標簽里面有a標簽,可以阻止到a標簽的默認行為event.preven…

wepack環境配置1之node的安裝

.向往已久的webpack終于配好了.. 1.要安裝webpack,首先需要安裝nodejs nodejs下載地址:https://nodejs.org/en/ 下載完成后,一步步安裝即可,我是安裝到D盤 新建一個nodejs的文件夾,裝到這個文件夾里面即可. 安裝完畢后檢查自己是否安裝成功.啟動cmd,然后輸入npm -v,…

【賞析】.NET跨平臺框架-Avalonia UI

這是Avalonia UI官方的一個Demo,站長對部分Nuget包進行了升級,網友【小飛機MLA】對Linux版本修復了字體Bug得以正常運行、演示:Windows 11:macOS 13:可安裝Rider(EAP即要)開發,站長一…