在microsoft .NET Core 3.0 new features上,它提到:
.NET Core 3.0默认情况下启用分层编译(TC)。此功能使运行时可以更自适应地使用即时(JIT)编译器来获得更好的性能。
TC的主要好处是可以启用质量较低但较快的层或质量较高但较慢的层的(重新)合并方法。这有助于提高应用程序从启动到稳态的各个执行阶段的性能。这与非TC方法不同,后者采用的是每种方法都以单一方式(与高质量层相同)编译的方式,这种方式在启动性能方面倾向于稳态。
文档提供了两种不同的编译方式。但是它没有提到如何决定和在编译选项之间进行切换。
那么TC Compiler
将如何在两种模式之间切换并影响我们的代码?从.NET Core 2.2迁移到.NET Core 3.0时,这如何影响我们的应用程序?什么时候应该禁用此功能?