GAC 下的所有东西都是预编译(ngened)的吗?如果是这样,那么所有 .NET 都是预编译的,所以 CLR 不可能在运行时优化它们?
如果您在您的应用程序中使用 List,那么 CLR 将无法优化 List 本身,而只能优化它在您的应用程序中的使用方式?这不是违背了 JIT 的目的,即在运行时进行大量优化吗?如此有效地失去了 BCL 的所有潜在优化?
最佳答案
不,GAC 不会自动预编译;但是,GAC 是 pre-JIT 的先决条件。实际上,只有一小部分是预先 JIT 的。除此之外 - 如果 BCL 是预先 JIT 的,那么这些优化将已经由 NGEN 完成,因此“失去所有潜在的优化”不是问题.
关于c# - GAC 与 JIT,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/656140/