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

Lea*_*ner 6 .net c# jit

我试图了解如何配置我想要使用的JIT类型.

说,我知道有3种类型的JIT(Pre,Econo和Normal).但是有以下奇怪的问题.

  1. .NET在部署服务器中运行的默认JIT是什么?

  2. 如果默认设置正常,我们是否可以灵活地更改设置以使用pre或econo.如果是这样我可以改变这个?

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

Han*_*ant 8

我之前从未听说过"Econo jit".我确实看到谷歌链接,他们都指向谈论.NET 1.x的旧文章."econo"部分似乎是通过不优化生成的机器代码和跳过IL验证来实现的.

从.NET 2.0开始,这个选项肯定不存在了.只有一种类型的抖动,IL总是被验证,但优化可以关闭.就像在程序的Debug构建中一样,[Debuggable]属性控制它.有各种各样的抖动,微软提供的可以瞄准x86,x64或ARM处理器.但这是一个逻辑上的区别,不同的处理器需要不同的机器代码.抖动选择是自动的.关闭优化没有多大意义.

"Pre jit"仍然存在,您使用ngen.exe预编译程序集.它使用与在运行时生成代码的抖动完全相同的抖动.它改善了程序的热启动时间,它并不总是最好的解决方案,因为生成的代码不是那么高效并且减慢了冷启动.使用ngen.exe需要编写一个安装程序,在安装时在用户的计算机上运行它.