GAC与JIT

Joa*_*nge 5 .net c# optimization gac

GAC下的所有内容都是预编译的(ngened)吗?如果是这样,那么所有的.NET都是预编译的,所以CLR不可能在运行时优化它们?

就像你在你的应用程序中使用List一样,CLR将无法优化List本身,只能在你的应用程序中使用它?这是否会破坏JIT的目的,在运行时获得大量优化?那么有效地失去了对BCL的所有潜在优化?

Mar*_*ell 4

不,GAC 不会自动进行预 JIT 处理;然而,GAC 是预 JIT 的先决条件。实际上,只有一小部分内容是预先 JIT 的。除此之外 - 如果 BCL 是预先 JITted 的,那么NGEN就已经完成这些优化,因此“丢失所有潜在的优化”不是问题。