簡體   English   中英

如何更改我想要使用的JIT類型

[英]How to change the type of JIT I want to use

我試圖了解如何配置我想要使用的JIT類型。

說,我知道有3種類型的JIT(Pre,Econo和Normal)。 但是有以下奇怪的問題。

  1. .NET在部署服務器中運行的默認JIT是什么?

  2. 如果默認設置正常,我們是否可以靈活地更改設置以使用pre或econo。 如果是這樣我可以改變這個?

不確定,如果此設置在machine.config或其他什么?

我之前從未聽說過“Econo jit”。 我確實看到谷歌鏈接,他們都指向談論.NET 1.x的舊文章。 “econo”部分似乎是通過不優化生成的機器代碼和跳過IL驗證來實現的。

從.NET 2.0開始,這個選項肯定不存在了。 只有一種類型的抖動,IL總是被驗證,但優化可以關閉。 就像在程序的Debug構建中一樣,[Debuggable]屬性控制它。 各種各樣的抖動,微軟提供的可以瞄准x86,x64或ARM處理器。 但這是一個邏輯上的區別,不同的處理器需要不同的機器代碼。 抖動選擇是自動的。 關閉優化沒有多大意義。

“Pre jit”仍然存在,您使用ngen.exe預編譯程序集。 它使用與在運行時生成代碼的抖動完全相同的抖動。 它改善了程序的熱啟動時間,並不總是最好的解決方案,因為生成的代碼不是那么高效,而且會減慢冷啟動速度。 使用ngen.exe需要編寫一個安裝程序,在安裝時在用戶的計算機上運行它。

你的意思是改變JIT編譯器的編譯器選項嗎?

有沒有辦法改變.NET JIT編譯器以支持性能而不是編譯時間?

或者你的意思是使用與.net一起提供的完全不同的編譯器? 我不知道這是可能的。 例如,如果您在.net旁邊安裝了單聲道,則需要使用mono顯式啟動,這不是運行的.net程序集可以決定的。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM