成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

C# NGWS runtime即時(shí)編譯器

開(kāi)發(fā) 后端
這里介紹C# NGWS runtime即時(shí)編譯器,在所列出的即時(shí)編譯器中,有兩個(gè)是運(yùn)行時(shí)的即時(shí)編譯器.可是你怎么決定要使用哪一個(gè)JIT,它如何使用內(nèi)存?

C# NGWS runtime即時(shí)編譯器

由C#或其它能產(chǎn)生受管代碼的編譯器所生成的受管代碼就是IL碼。雖然IL代碼被包裝在一個(gè)有效的PE文件中,但是你還是不能執(zhí)行它,除非它被轉(zhuǎn)換成為受管原始代碼。這就是C# NGWS runtime即時(shí)編譯器大顯身手的時(shí)候。

為什么你會(huì)對(duì)即時(shí)編譯代碼感到厭繁,為什么不把整個(gè)IL PE文件編譯成原始代碼? 答案是時(shí)間——需要把IL代碼編譯成CPU規(guī)格的代碼的時(shí)間。這種編譯將更加有效率,因?yàn)橐恍┏绦蚨螐膩?lái)就沒(méi)有被執(zhí)行過(guò)。例如,在我的字處理器中,郵件合并功能從來(lái)就沒(méi)有被編譯。

從技術(shù)上說(shuō),全部的處理過(guò)程如下:當(dāng)一個(gè)類型被裝載時(shí),裝載器創(chuàng)建一個(gè)存根(stub),并使它連接每一個(gè)類型的方法。當(dāng)一個(gè)方法第一次被調(diào)用時(shí),存根把控制交給JIT.JIT把IL編譯為原始代碼,且把存根指針指向緩沖了的原始代碼。

接著的調(diào)用將執(zhí)行原始碼。在某些位置上(At some point),所有的IL都被轉(zhuǎn)換成為原始代碼,而JITter處于空閑狀態(tài)。

正如我在前面提到的,JIT編譯器有很多,不止一個(gè)。在Windows平臺(tái)上,NGWS runtime裝有3個(gè)不同的JIT編譯器。JIT——這是NGWS runtime默認(rèn)使用的JIT編譯器。它是一個(gè)后臺(tái)(back end)優(yōu)化的編譯器 ,在前臺(tái)(up front)實(shí)行數(shù)據(jù)流分析,并創(chuàng)建了高度優(yōu)化的受管原始代碼做為輸出結(jié)果。JIT可以使用不嚴(yán)格的IL指令集編碼,但是所需資源將十分可觀。主要的限制在于內(nèi)存足跡(footprint)、結(jié)果工作集,以及實(shí)行優(yōu)化所消耗的時(shí)間。

EconoJIT—— 和主JIT相比,EconJIT的目標(biāo)是把IL高速地轉(zhuǎn)換成受管原始代碼。它允許緩沖所產(chǎn)生的原始代碼,但是輸出碼并不象主JIT生成的代碼那樣優(yōu)化(代碼小)。當(dāng)內(nèi)存緊張時(shí),快速代碼生成方案的優(yōu)勢(shì)將蕩然無(wú)存。通過(guò)永久地拋棄無(wú)用的已JIT過(guò)的代碼,你可以把更大的IL程序裝入代碼緩沖區(qū)。因?yàn)镴IT編譯快,執(zhí)行速度也仍然很快。

PreJIT-盡管它是基于主JIT的,但操作起來(lái)更象是一個(gè)傳 統(tǒng)的編譯器。你安裝了NGWS組件,它才能運(yùn)行,才可以把IL代碼編譯成受管原始代碼。當(dāng)然最終的結(jié)果為,更快的裝載時(shí)間和更快的應(yīng)用程序啟動(dòng)時(shí)間(不需要更多的JIT編譯)。

在所列出的即時(shí)編譯器中,有兩個(gè)是運(yùn)行時(shí)的即時(shí)編譯器.可是你怎么決定要使用哪一個(gè)JIT,它如何使用內(nèi)存?有一個(gè)稱做"JIT編譯管理器"的小應(yīng)用程序(jitman.exe),它存放于NGWS SDK安裝目錄下的bin目錄中。當(dāng)執(zhí)行該程序時(shí),它把一個(gè)圖標(biāo)加到系統(tǒng)任務(wù)條上,雙擊該圖標(biāo)打開(kāi)程序?qū)υ捒颉?/P>

盡管它是一個(gè)小小的對(duì)話框,可是你所選擇的選項(xiàng)功能是相當(dāng)強(qiáng)大的。每一個(gè)選項(xiàng)將在以下描述。Use EconoJIT only 選項(xiàng)——當(dāng)該復(fù)選框沒(méi)有選上時(shí),NGWS runtime使用默認(rèn)的正常的JIT編譯器。前面就曾經(jīng)解釋過(guò)兩種JITter的區(qū)別。

Max Code Pitch Overhead(%)選項(xiàng)——該設(shè)置僅保留給EconoJIT.它控制了JIT編譯時(shí)間和執(zhí)行代碼時(shí)間的百分比。如果超過(guò)了設(shè)定的域值,代碼緩沖區(qū)得到擴(kuò)充,以縮短JIT編譯所消耗的時(shí)間。

Limit Size of Code Cache選項(xiàng)——該項(xiàng)默認(rèn)為非選。沒(méi)有選擇該項(xiàng)意味著緩沖區(qū)將使用它所能得到的內(nèi)存。如果你想限制緩沖區(qū)大小,復(fù)選該選項(xiàng),這將允許你使用Max Size of Cache(bytes)選項(xiàng)。

Max Size of Cache(bytes)選項(xiàng)-控制容納JIT代碼的緩沖區(qū)的最大值。雖然你可以非常嚴(yán)格地限制這個(gè)值,但你還是應(yīng)該小心,不能超過(guò)這個(gè)緩沖區(qū)所適合的最大值。否則該方法的JIT編譯將會(huì)失敗。

Optimize For Size選項(xiàng)——告訴JIT 編譯器,優(yōu)化的目的是為了使代碼更小而不是能執(zhí)行得更快。這個(gè)設(shè)置默認(rèn)是關(guān)掉的。

Enable Concurrent GC[garbage collection]選項(xiàng)——垃圾收集(GC)默認(rèn)地運(yùn)行在用戶代碼的線程中。意味GC發(fā)生時(shí),可能會(huì)注意到回應(yīng)有輕微的延遲。為防止出現(xiàn)該現(xiàn)象,打開(kāi)當(dāng)前GC.注意,當(dāng)前GC 比標(biāo)準(zhǔn)GC更慢,它僅在windows 2000上寫時(shí)(the time of writing)有效。

當(dāng)用C#創(chuàng)建項(xiàng)目時(shí),你可能使用不同的設(shè)置試驗(yàn)過(guò)。當(dāng)創(chuàng)建 UI-intensive應(yīng)用程序時(shí),你將會(huì)看到允許當(dāng)前GC的最大差別。以上介紹C# NGWS runtime即時(shí)編譯器。

【編輯推薦】

  1. 介紹Mono C#編譯器
  2. C#運(yùn)算符重載學(xué)習(xí)總結(jié)
  3. 概述C#語(yǔ)言的結(jié)構(gòu)體
  4. C#遺傳算法學(xué)習(xí)筆記
  5. 討論C#分部方法
責(zé)任編輯:佚名 來(lái)源: 51CTO.com
相關(guān)推薦

2009-08-14 16:39:01

C# NGWS run

2009-08-10 17:12:54

C#編譯器

2009-08-06 14:59:36

C#編譯器

2009-08-14 11:34:26

Mono C#編譯器

2009-09-01 10:35:19

C# 3.0編譯器

2009-07-31 09:20:16

NGWS RuntimASP.NET

2010-01-18 10:34:21

C++編譯器

2010-01-21 09:11:38

C++編譯器

2009-08-18 11:27:56

配置C#命令行編譯器

2010-01-18 10:28:15

C++編譯器

2013-12-10 10:53:47

shellcode

2010-10-20 13:43:37

C++編譯器

2009-08-20 17:35:00

配置C#命令行編譯器

2010-01-12 16:42:59

C++編譯器

2010-01-14 15:29:44

C++編譯器

2010-02-03 13:14:03

C++編譯器命令

2010-06-04 17:37:45

Linux編程工具

2012-06-06 09:04:54

Roslyn

2011-10-20 15:06:47

Project Ros

2010-01-21 09:26:53

CC++編譯器
點(diǎn)贊
收藏

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

主站蜘蛛池模板: 欧美精品欧美精品系列 | 欧美日韩电影一区二区 | 欧美黑人狂野猛交老妇 | 91国产视频在线观看 | 国产一区视频在线 | 久久国产亚洲 | 精品欧美一区二区精品久久久 | 亚洲天堂免费 | av免费网站在线 | 久亚州在线播放 | 色www精品视频在线观看 | 亚洲欧美在线视频 | 成人欧美一区二区 | 羞羞色视频 | 欧美黑人一区二区三区 | 青青久草 | 国产精品久久国产精品久久 | 蜜桃视频在线观看免费视频网站www | 国产高清视频 | 天天爽网站 | 玖玖玖在线观看 | 看片国产 | 精品亚洲第一 | 久久久久久国产精品 | 亚洲精品国产一区 | 久久夜视频 | 欧美日韩电影在线 | 精品二三区 | 午夜精品 | 国产午夜精品一区二区三区 | 久久亚洲综合 | 免费观看一级特黄欧美大片 | 亚洲精品国产电影 | 黄色免费三级 | 视频一区二区中文字幕日韩 | 91最新视频| 国产精品久久欧美久久一区 | 久久婷婷香蕉热狠狠综合 | 久久99精品久久久久 | 欧美激情精品久久久久 | 99久久夜色精品国产亚洲96 |